암호학 썸네일형 리스트형 '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 더보기 Caesar 암호 [Crypto] - Caesar 암호는 주어진 평문에 대하여 알파벳 순서에서 +3을 한 암호화 이다. 예를 들어 'ABC' 라는 평문이 주어지면 'DEF'가 되는 것이다. 주의할 점은 +3을 하고 마지막 부분 'XYZ'는 암호화를 진행하면 'ABC'가 된다. 시저암호에 대한 암호화, 복호화 코드를 파이썬으로 간단히 구현해 본다. temp = 'abcde' temp_list = list(temp) save = [] for x in temp_list: temp_ord = ord(x) temp_save = (((temp_ord + 3) - 97) % 26) + 97 save += chr(temp_save) print('cypher : ', "".join(save)) - 해당 코드의 출력값은 다음과 같다. - 현재 코드는 소문.. 더보기 이전 1 다음