본문 바로가기

역원

Affine 암호 [Crypto] 근대 암호 중 하나인 Affine 암호입니다. 해당 압호는 Shift 암호를 개선한 형태라고는 하지만 Shift 암호보다 약합니다. 해당 암호의 원리를 알기전에 Shift 암호에 대해 간단히 설명하겠습니다. - Shift 암호는 시저 암호의 발전된 형태입니다. 시저암호는 단순히 알파벳에 +3 형태였습니다. 즉 [abc]라는 평문을 상대방에게 암호화하여 전달하게 되면 [def]가 됩니다. 그럼 해당 암호문을 받은 상대방은 알파벳에 -3을 해주면 [abc]라는 평문을 알 수 있게됩니다. 즉 키값이 3입니다. shift 암호는 고정된 키값 3이 아닌 유동적인 여러 키값을 사용이 가능합니다. 하지만 알파벳의 개수는 26개 즉 키값을 여러개를 사용하여도 키값이 26이 되면 원래의 평문이 출력되게 됩니다. 이는 m.. 더보기
'Euclid 호제법'을 이용한 역원 구하기 'Euclid 호제법'은 두 수에 대한 최대공약수를 구하기 위해 사용하는 알고리즘 입니다. 해당 알고리즘을 이용하여 곱셈에 대한 역원 값을 구할 수 있습니다. 먼저 호제법을 시작할 때 두 수가 역원이 존재하는지를 확인해야 합니다. '3 mod 26' 을 계산한다고 가정하여 진행 합니다. [26 * x + 7 * y = 1]의 형태를 만들어야 합니다. 26 = 7 * 3 + 5 7 = 5 * 1 + 2 5 = 2 * 2 +1 - 두 수가 역원이 존재 하는지 점검합니다. 식의 마지막 부분이 1이 나올 때 까지 진행하고 만약 마지막까지 진행 하였을때 1이 아닌 수가 나오면 역원이 존재하지 않는 수 입니다. 5 = 7 - 5 * 1 * 2 + 1 더보기