首页 > 其他分享 >对称秘钥密码体系

对称秘钥密码体系

时间:2023-04-24 14:56:16浏览次数:29  
标签:加密 解密 秘钥 密码 算法 密钥 对称 明文

密码学原理

加密解密公式

  • 明文用M(消息Message)或P(明文Plaintext)表示,密文用C(Ciphertext)表示。

  • 加密函数E作用于M得到密文C,用数学式子表示为:\(E(M)=C\)
    相反地,解密函数D作用于C产生M,表示为:\(D(C)=M\)

  • 先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立:

\[D(E(M))=M \]

注意:加密和解密离不开密钥的参与

安全密码准则

  • 所有算法的安全性都基于密钥的安全性,而不是基于算法细节的安全性。

  • 密钥空间,算法步数

  • 只有公开的算法才是安全的。
    因为公开的算法集结了各种思想,如果公开了还未破解,则能说明算法安全。

  • 时间和实践检验

对称密钥密码和非对称密钥密码

基于密钥的算法通常有两类:对称密钥算法(秘密密钥算法)和非对称算法(公开秘密密钥算法)。

对称算法有时又叫传统密码算法
就是加密密钥能够从解密密钥中容易地推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。

对称算法可分为两类。

  • 一次只对明文中的单个比特(有时对字节)运算的算法称为序列密码或流密码算法
  • 另一类算法是对明文的一组比特进行运算,这些比特组称为分组,相应的算法称为分组算法

非对称算法也叫做公开密钥算法
是因为加密密钥能够公开,即他人能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。
非对称算法是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的有限时间内)。

标签:加密,解密,秘钥,密码,算法,密钥,对称,明文
From: https://www.cnblogs.com/kingwz/p/17349500.html

相关文章

  • Metabase 重置密码
    Metabase没有配置邮箱服务,忘记密码只能找管理员帮忙重置密码,但当你是管理员的时候,就很尴尬了下面分享一种通过命令行修改密码的方法官方文档:https://www.metabase.com/docs/latest/people-and-groups/managing#resetting-someones-password1.停止当前运行的实例(否则会报文件被......
  • java脚本读取finalshell密码
    在finalshell安装目录下找到coon文件夹,下面有许许多多的json文件,在这些文件中找到password{"forwarding_auto_reconnect":false,"custom_size":false,"delete_time":0,"secret_key_id":"","user_name":"root","remote_port_......
  • 中控考勤机管理员/清除/密码/恢复出厂设置方法 zkteco iface 302
     中控考勤机管理员/清除/密码/恢复出厂设置方法zkteco  iface302 打开官网下载 安装包-Zktime5.0考勤软件https://www.zkteco.com/cn/download_catgory/136.html 用网线直连电脑操作 考勤机网线直连电脑ZKtime5.0考勤管理系统清除管理员http://file.zkteco.com/......
  • 密码加密存储 登陆接口
    实际项目中我们不会把密码明文存储在数据库中。​默认使用的PasswordEncoder要求数据库中的密码格式为:{id}password。它会根据id去判断密码的加密方式。但是我们一般不会采用这种方式。所以就需要替换PasswordEncoder。​我们一般使用SpringSecurity为我们提供的BCryptPasswo......
  • Linux 环境,设置git账户密码,免登录
    1git配置个人用户信息#配置用户名gitconfig--globaluser.namewangjing#配置用户邮箱[email protected]#配置记住用户验证信息gitconfig--globalcredential.helperstore#查看相关配置信息gitconfig--lis  2保存账号2.1创建配......
  • 在命令行中直接使用密码 ssh 登录
    在命令行中直接使用密码ssh登录问题需要在shell脚本中ssh登录远程服务器,上传下载文件,但由于ssh直接使用TTY访问,需要确保密码是用户键盘输入的,每次都需要输入密码,又没有添加免密登录,所以需要在脚本中直接使用密码执行操作。解决方案使用sshpass库,sshpass在专门的......
  • 关于ssh密码忘记的处理
    01.任意文件位置运行 GitBashHere02.切换到ssh目录:  cd~/.ssh03.查看ssh内容:如果之前已经生成过ssh公钥,则存在三个文件04.删除所有SSH 相关内容: rm-rf~/.ssh/*此时再用 ls指令,已经查不到任何内容了05.创建新的ssh:  ssh-keygen-t......
  • 解决sshd登陆密码错误问题
    一、背景   参考https://blog.csdn.net/qq_43574160/article/details/124870387,在海思开发移植ssh,在确认了root密码正确后,通过终端ssd始终提示登陆密码错误;二、解决过程   1、网上查找类似解决方法,修改默认的配置文件/usr/local/etc/ssh_config,下图为默认配置 ......
  • 服务器新装Ubuntu系统然后修改密码
    给服务器新装了Ubuntu操作系统,需要root权限,需要设置新的root密码sudopasswdroot此时输入普通权限用户名的密码,注意第一次输入的是普通用户权限的密码,然后会此时输入你想要的root权限密码,注意输入两次即可......
  • 数据库校验用户核心代码实现、用户密码加密存储
    数据库校验用户核心代码实现核心代码实现创建一个UserDetailsService接口,重写其中的方法。更加用户名从数据库中查询信息@ServicepublicclassUserDetailsServiceImplimplementsUserDetailsService{@AutowiredprivateUserMapperuserMapper;@Overrid......