2019年9月3日火曜日

学習環境

中学数学からはじめる暗号入門 ~現代の暗号はどのようにして作られたのか~ (知りたい!サイエンス 141) (関根 章道(著)、技術評論社)の後編(現代の暗号)、第7章(RSA暗号を解読してみよう(復号化))のやってみよう⑧の解答を求めてみる。



    1. 7 , 11 = 1 7 11 - 1 1 m o d 7 7 10 1 m o d 7 7 100 7 10 10 1 10 1 m o d 7

      よって求める余り は1。


    2. 5 , 23 = 1 5 23 - 1 1 m o d 23 5 22 1 m o d 23 5 100 5 22 4 · 5 12 5 12 5 2 6 m o d 23 5 2 25 2 m o d 23 5 2 6 2 6 64 64 - 23 · 2 18 m o d 23

      よっと求める余りは18。

コード

Python 3

#!/usr/bin/env python3
from unittest import TestCase, main


class MyTest(TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test(self):
        spam = [7 ** 10 % 11, 5 ** 100 % 23]
        egg = [1, 18]
        for s, t in zip(spam, egg):
            self.assertEqual(s, t)


if __name__ == '__main__':
    main()

入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

$ ./sample2.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
$ 

0 コメント:

コメントを投稿