BigInteger p,q,pMinus1,qMinus1,phi;
BigInteger n = new BigInteger("1024473827439487595911508269529");
BigInteger e = new BigInteger("65537"); // 공개키
BigInteger d = new BigInteger("828292334017974914559192359153"); // 개인키
int certainty = 80;
SecureRandom rand = SecureRandom.getInstance("SHA1PRNG");
do {
p = new BigInteger(50, certainty, rand);
pMinus1 = p.subtract(BigInteger.ONE);
}while(!(pMinus1.gcd(e).equals(BigInteger.ONE)));
do {
q = new BigInteger(50, certainty, rand);
qMinus1 = q.subtract(BigInteger.ONE);
}while(!(qMinus1.gcd(e).equals(BigInteger.ONE)));
phi = pMinus1.multiply(qMinus1);
String m = "암호화할거";//////// 평문 m
KeyGenerator gen = KeyGenerator.getInstance("AES");
gen.init(256);
SecretKey K = gen.generateKey();
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
byte[] iv = new byte[16];
sr.nextBytes(iv);
Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec spec = new IvParameterSpec(iv);
c.init(Cipher.ENCRYPT_MODE,K, spec);
byte[] encData = c.doFinal(m.getBytes());//암호문등록
main안에 있는 코드에요 단순히 x^emodn으로 풀어오라한게아니라 대칭키암호문하는법 알려주고 공개키,비밀키로 암호문하는법 가르켜주고 대칭키를 RSA 공개키를 통해서 암호화 하라 했었어용
상위 1% Counter
해당 댓글은 삭제되었습니다.
패딩 모드가 getinstance 옆에있는 문장 말하시는건가요,,?
오오,, 한번 해볼게용
음 배운거에선 그냥 "RSA"만 떡하니 있어서 무슨패딩모드인지 잘모르겟네요,, 친절하게 알려주시는데 아는게 많이없어서 죄송합니다 ㅠㅠ
카톡아이디 보내줘요
ㅠㅠ 장수하세요 감사합니다