当前位置: 首页>>代码示例>>Python>>正文


Python simon.SimonCipher类代码示例

本文整理汇总了Python中simon.SimonCipher的典型用法代码示例。如果您正苦于以下问题:Python SimonCipher类的具体用法?Python SimonCipher怎么用?Python SimonCipher使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了SimonCipher类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_pcbc_mode_single

    def test_pcbc_mode_single(self):

        c = SimonCipher(self.key, self.key_size, self.block_size, 'PCBC', init=self.iv)
        pcbc_out = c.encrypt(self.plaintxt)

        c = SimonCipher(self.key, self.key_size, self.block_size, 'ECB')
        pcbc_equivalent = c.encrypt(self.iv ^ self.plaintxt)
        assert pcbc_out == pcbc_equivalent
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:8,代码来源:tests.py

示例2: test_simon128_256

 def test_simon128_256(self):
     block_size = 128
     key_size = 256
     for x in range(self.test_cnt):
         key = randint(0, (2**key_size) - 1)
         plaintxt = randint(0, (2**block_size) - 1)
         c = SimonCipher(key, key_size, block_size, 'ECB')
         assert c.decrypt(c.encrypt(plaintxt)) == plaintxt, 'Test %r Failed with Random Key %r and Random Plaintext %r' % (x, hex(key), hex(plaintxt))
开发者ID:prashantbarca,项目名称:simon-speck-sim,代码行数:8,代码来源:tests.py

示例3: test_ctr_mode_equivalent

    def test_ctr_mode_equivalent(self):

        c = SimonCipher(self.key, self.key_size, self.block_size, 'CTR', init=self.iv, counter=self.counter)
        ctr_out = c.encrypt(self.plaintxt)

        c = SimonCipher(self.key, self.key_size, self.block_size, 'ECB')
        ecb_out = c.encrypt(self.iv + self.counter)
        ctr_equivalent = ecb_out ^ self.plaintxt
        assert ctr_out == ctr_equivalent
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例4: test_simon32_64

 def test_simon32_64(self):
     key = 0x1918111009080100
     plaintxt = 0x65656877
     ciphertxt = 0xc69be9bb
     block_size = 32
     key_size = 64
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例5: test_simon128_192

 def test_simon128_192(self):
     key = 0x17161514131211100f0e0d0c0b0a09080706050403020100
     plaintxt = 0x206572656874206e6568772065626972
     ciphertxt = 0xc4ac61effcdc0d4f6c9c8d6e2597b85b
     block_size = 128
     key_size = 192
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例6: test_simon128_128

 def test_simon128_128(self):
     key = 0x0f0e0d0c0b0a09080706050403020100
     plaintxt = 0x63736564207372656c6c657661727420
     ciphertxt = 0x49681b1e1e54fe3f65aa832af84e0bbc
     block_size = 128
     key_size = 128
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例7: test_simon96_144

 def test_simon96_144(self):
     key = 0x1514131211100d0c0b0a0908050403020100
     plaintxt = 0x74616874207473756420666f
     ciphertxt = 0xecad1c6c451e3f59c5db1ae9
     block_size = 96
     key_size = 144
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例8: test_simon96_96

 def test_simon96_96(self):
     key = 0x0d0c0b0a0908050403020100
     plaintxt = 0x2072616c6c69702065687420
     ciphertxt = 0x602807a462b469063d8ff082
     block_size = 96
     key_size = 96
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例9: test_simon64_128

 def test_simon64_128(self):
     key = 0x1b1a1918131211100b0a090803020100
     plaintxt = 0x656b696c20646e75
     ciphertxt = 0x44c8fc20b9dfa07a
     block_size = 64
     key_size = 128
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例10: test_simon64_96

 def test_simon64_96(self):
     key = 0x131211100b0a090803020100
     plaintxt = 0x6f7220676e696c63
     ciphertxt = 0x5ca2e27f111a8fc8
     block_size = 64
     key_size = 96
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例11: test_simon48_96

 def test_simon48_96(self):
     key = 0x1a19181211100a0908020100
     plaintxt = 0x72696320646e
     ciphertxt = 0x6e06a5acf156
     block_size = 48
     key_size = 96
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例12: test_simon48_72

 def test_simon48_72(self):
     key = 0x1211100a0908020100
     plaintxt = 0x6120676e696c
     ciphertxt = 0xdae5ac292cac
     block_size = 48
     key_size = 72
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例13: test_simon128_256

 def test_simon128_256(self):
     key = 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
     plaintxt = 0x74206e69206d6f6f6d69732061207369
     ciphertxt = 0x8d2b5579afc8a3a03bf72a87efe7b868
     block_size = 128
     key_size = 256
     c = SimonCipher(key, key_size, block_size, 'ECB')
     assert c.encrypt(plaintxt) == ciphertxt
     assert c.decrypt(ciphertxt) == plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例14: test_ofb_mode_chain

    def test_ofb_mode_chain(self):
        plaintxts = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

        c = SimonCipher(self.key, self.key_size, self.block_size, 'OFB', init=self.iv)
        ciphertexts = [c.encrypt(x) for x in plaintxts]
        c = SimonCipher(self.key, self.key_size, self.block_size, 'OFB', init=self.iv)
        decryptexts = [c.decrypt(x) for x in ciphertexts]

        assert plaintxts == decryptexts
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:9,代码来源:tests.py

示例15: test_ctr_mode_single_cycle

    def test_ctr_mode_single_cycle(self):

        self.counter = 0x01

        c = SimonCipher(self.key, self.key_size, self.block_size, 'CTR', init=self.iv, counter=self.counter)
        ctr_out = c.encrypt(self.plaintxt)

        self.counter = 0x01

        c = SimonCipher(self.key, self.key_size, self.block_size, 'CTR', init=self.iv, counter=self.counter)
        output_plaintext = c.decrypt(ctr_out)

        assert output_plaintext == self.plaintxt
开发者ID:yuehann,项目名称:IOT_Gateway,代码行数:13,代码来源:tests.py


注:本文中的simon.SimonCipher类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。