ECC的理解

ECC:Error Checking and Correction

8bit的ECC需要log2(8)+1=4bit的ECC码。


bit的EEC过程:

     bit7 bit6 bit5 bit4 bit3 bit3 bit2 bit1 bit0

o:   1     0      1     0     1      0     1     0      1

n :  1     0      1     1     1      0     1     0      1


P8 = D7+D6+D5+D4+D3+D2+D1+D0

P4 = D7+D6+D5+D4

P2 = D7+D6+D3+D2

P1 = D7+D5+D3+D1


O:

P8=0

P4=0

P2=0

P1=0

new:

P8=1

P4=1

P2=0

P1=0


o&n:

P8&‘P8 = 1

P4&‘P4 = 1

P2&‘P2 = 0

P1&‘P1 = 0


P8出现1,说明出错了。

P4P2P1=100  ----->  bit4 出错。

ECC只能检测1位出错,并且校验回来;可以检测2位出错,但是不能校验回来。


参考文献:

1, http://wenku.baidu.com/view/483a35f54693daef5ef73d92.html

2, http://www.elnec.com/sw/samsung_ecc_algorithm_for_256b.pdf

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于ECC算法的Python代码实现,很抱歉,之前的引文中没有提到。ECC算法是基于椭圆线的加密算法,可以用于密钥生成、密钥交换和数字签名等安全应用。在Python中,可以使用第三方库pycryptodome来实现ECC算法。 下面是使用pycryptodome库实现ECC算法的示例代码: ```python from Crypto.PublicKey import ECC # 生成ECC密钥对 key = ECC.generate(curve='P-256') private_key = key.export_key(format='PEM') public_key = key.public_key().export_key(format='PEM') # 加密和解密示例 data = b'This is a secret message' encrypted_data = key.public_key().encrypt(data) decrypted_data = key.decrypt(encrypted_data) print('Encrypted data:', encrypted_data) print('Decrypted data:', decrypted_data) ``` 以上代码中,首先通过`ECC.generate()`函数生成一个ECC密钥对,其中curve参数指定了曲线类型,这里使用的是P-256曲线。然后使用`export_key()`函数导出私钥和公钥。 接着,可以使用生成的公钥进行加密,使用私钥进行解密。示例中的`encrypt()`和`decrypt()`函数分别用于加密和解密数据。 请注意,这只是一个简单的示例,实际应用中需要考虑更多的安全性和错误处理。 希望这个示例代码能够帮助你理解ECC算法在Python中的实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [常见加密算法-python实现](https://blog.csdn.net/qq_42363032/article/details/107417891)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值