0
RSA 암호화/해독에 유용한 매우 큰 숫자를 처리 할 수 있으므로 Sage 프로그래밍을 배우기로 결정했습니다.현자 프로그래밍의 ZZ 함수
(1) 나는 예제를 따르고 있었지만 ZZ() 함수 내부에서 100을 얻은 방법을 잘 모르겠습니다.
(2) 또 다른 질문은 sage 함수를 사용하여 정수에서 일반 텍스트로 이동하는 방법이 있습니까?
sage: m = "HELLOWORLD"
sage: m = map(ord, m); m
[72, 69, 76, 76, 79, 87, 79, 82, 76, 68]
sage: m = ZZ(list(reversed(m)), 100) ; m <------ this line
72697676798779827668
sage: m = 72697676798779827668
sage: c = 630913632577520058415521090
sage: d = 4460824882019967172592779313
sage: n = 4951760154835678088235319297
sage: power_mod(c, d, n)
72697676798779827668 <--- how do i convert this number back to plain text
sage: power_mod(c, d, n) == m
True
어떻게해야 기본을 결정할 수 있습니까? 내 문제는 내 m이 매우 큽니다. m은 350 자이고 2x350 = 700 정수로 변합니다. 기본 100을 사용하려고했으나 올바른 숫자가 누출되지는 않습니다. – jaymeister
쉽게 알파벳 26 글자를위한 충분한 공간이 있습니다. 이것은 장난감의 예임을 기억하십시오. 즉, 문자열을 깔끔하게 분해 할 수 있기 때문에 100은 정상적으로 작동해야합니다. 일반적으로 편지를 다시 받으려면 좀 더 복잡한 작업을해야합니다. – kcrisman