사용자의 입력 코드를 암호화하는 암호화 프로그램을 코딩하려고합니다. 이것이 단어 문자열 인 경우. 암호화 방법은 타원 곡선 암호화의 기본적인 사용법이며 현재는 수학, 역 모듈 등을 작업하기 전에 프로그램의 암호화 부분에서 작업하고 있습니다. 공개 키 및 개인 키 계산에 필요합니다. 현재 pub = 5
키와 max
값 (2 개의 임의 소수의 곱에서 파생 됨)을 91
으로 사용하고 있습니다. 이것은 필요한 모든 정보이며 암호화를 테스트하는 단어는 '행복'합니다.파이썬 암호화 프로그램 (ECC)
여기까지 코드가 있습니다.
word = 'happy'
pub = 5
m = 91
for i in range(pub):
if i == 0:
word = word
else:
word = output
for x in word:
a = [(((ord(z)*ord(z))+1)/m) for z in word]
b = [chr(i) for i in a]
c = [str(i) for i in b]
d = ''.join([str(i) for i in c])
output = d
내가 뭘하려고 오전 그 자체로도 속해있는 ASCII 값을 곱하여 각 문자를 암호화 한 후 m
로 나누어 다음 1
을 추가하는 과정 후 문자열을 다시 가입 할 수 chr()
함수를 사용하여 만드는 것입니다 새로운 단어. 그런 다음 새 문자열을 사용하여 루프의 다음주기에 대해 word
의 값으로 설정하십시오. 그러면 술어가 완료되고 단어가 암호화 될 때까지 프로세스가 계속됩니다. 나는 이것으로 많은 어려움을 겪고 있으며 문제를 설명하는 것으로부터 어디서부터 시작해야할지 모른다. 저는 파이썬에 비교적 익숙하지 않습니다. 그리고이 제안을 빨리 끝내는 것에 대한 제안이나 조언은 대단히 감사하겠습니다. 미리 감사드립니다.
출력이는 "CHR()가 범위 내에 있지 arg를 (256)" – Brayden