学習環境
- Surface、Surface ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro 10.5 + Apple Pencil
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
中学数学からはじめる暗号入門 ~現代の暗号はどのようにして作られたのか~ (知りたい!サイエンス 141) (関根 章道(著)、技術評論社)の後編(現代の暗号)、第8章(最終問題)の最後の暗号を解いてみよう - Part 7 (RSA暗号)の解答を求めてみる。
数字化。
暗号化。
よって、 暗号は 135。
秘密鍵は
復号化。
コード
Python 3
#!/usr/bin/env python3 from unittest import TestCase, main from sympy import gcd class MyTest(TestCase): def setUp(self): pass def tearDown(self): pass def test(self): num = 3218 e, n = 1241, 2279 d = 557 encoded = num ** e % n decoded = encoded ** d % n + n self.assertEqual(encoded, 135) self.assertEqual(decoded, num) if __name__ == '__main__': main()
入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))
$ ./sample2.py . ---------------------------------------------------------------------- Ran 1 test in 0.000s OK $
0 コメント:
コメントを投稿