码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 应用软件安全编程--23避免使用不安全的操作模式


    块密码又称为分组加密, 一次加密明文中的一个块。将明文按一定的位长分组,明文组经过加密运 算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组。这种加密算法共有四种操作 模式用于描述如何重复地应用密码的单块操作来安全的转换大于块的数据量,分别是电子代码(ECB)、密码块链(CBC)、 密码反馈(CFB) 以及输出反馈(OFB)。  其 中ECB 模式下相同的明文块总是会得到相同的密文,故不能抵挡回放攻击,而 CBC 模式则没有这个缺陷。

    对于避免使用不安全的操作模式的情况,示例1给出了不规范用法(Java 语言)示例。示例2给出了规范用法(Java 语言)示例。

    1. 示例1:
    2. Cipher  cipher  =  Cipher.getInstance("AES/ECB/PKCS7Padding","BC");
    3.  
    4. cipher.init(Cipher.ENCRYPT  MODE,createSecretKey(seed));

    以上代码将 AES 密码用于 ECB 模式。

    加密大于块的数据时,需要注意避免使用ECB 模式。由于 CBC 模式不会对相同的明文块生成相 同的密文块,所以CBC 模式更好。然而,CBC 模式效率较低,并且在和 SSL 一起使用时会造成严重风 险。可以改用CCM(Counter with CBC-MAC)模式,如果更注重性能,在可用的情况下则使用GCM(Galois/Counter)模式。

    1. 示例2:
    2. Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding","BC");
    3. cipher.init(Cipher.ENCRYPT  MODE,createSecretKey(seed));

    以上代码将 AES 密码用于CBC 模式。

  • 相关阅读:
    电子制造仓储条码管理系统解决方案
    BP神经网络算法基本原理,BP神经网络算法流程图
    隐私计算融合应用研究
    nginx 配置git server http clone服务,并通过反向代理访问
    【20220902】5 tips to improve your critical thinking
    defer有什么用呢
    openai有什么好的框架可以用来肺结节检测
    JVM分析指令解析-jps/jinfo/jstat/jstack/jmap
    2.7 进制转换与mac
    thinkphp文件夹生成zip压缩包
  • 原文地址:https://blog.csdn.net/wzh305365294/article/details/134523375
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号