加密技术基本原理

第一、使用密钥的编码

给定一段报文,一个密码函数和一个数字编码,就可以生成一段经过编码的密文,通过解码函数,解码秘钥,就可以将密文解码为原始的明文

第二、对称密钥加密技术

如果加密和解密使用的密钥是相同的,就成为对称密钥,流行的对称密钥加密算法为:DES、Triple-DES,RC2和RC4

对于对称密钥技术,暴力破解的方法就是尝试几乎所有可能,所有密钥位数越多,破解难度越大,目前普遍认为128位的密钥是比较安全的

第三、非对称密钥加密技术

上面讲的对称密钥加密技术,需要双方都记住密钥,如果有n个节点通信,那么需要保存n*(n-1)/2种密钥,非对称密钥加密技术没有为每对主机使用相同的密钥,而是有一个公共的密钥来加密,解密密钥是私有的。

第四、RSA加密算法

非对称密钥加密算法面临的问题是,如果主机知道了公共密钥、拦截的报文、及一条报文和与之相关的密文,该主机可能会得到密钥。

RSA算法是MIT发明,并且商业化的一个成熟算法,它解决了上面的问题。

第五、数字签名

数字签名技术通常用在非对称加密技术中,用加密系统对报文进行签名,这就是数字签名,他是附加在报文上的特殊的加密校验码,这样做的好处是:

1、因为只有发送主机才有私有密钥,所以只有发送主机才可以加签名,做校验和

2、防止报文在传输过程中被修改,如果报文在传输过程中被修改了,那么在接收端可以通过校验和就不会匹配,所以防止了篡改

第六、数字证书

数字证书包含一组信息,这些信息都是有一个官方的“证书颁发机构”以数字形式签发的,数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名

通过HTTPS 建立一个连接后,浏览器就会自动获得连接服务器的数字证书,如果服务器没有证书,安全连接就会失效,服务器证书包含如下字段:

服务器的名称和主机名

web站点的公开密钥

证书颁发机构名称

来自证书颁发机构的签名

加密技术基本原理

时间: 2024-11-05 16:10:57

加密技术基本原理的相关文章

1、网页后退 2、瀑布流 3、上下左右的阿斯科码值 4、加密技术

1.网页后退 /前进  <a href="javascript:history.go(-1);">后退</a><a href="javascript:history.go(1);">前进</a> 2.瀑布流              瀑布流是目前一种比较流行的页面布局和加载效果.百度,花瓣等一些好的网站都广泛用了这样一种效果,适用于单页面展示对内容的页面.这几天就跟着一些资料学习了一下瀑布流效果的制作.其原理是利用js

c语言课程设计之文本文件加密技术

#include<stdio.h> #include<stdlib.h>//使用了exit函数 #include<string.h> #define M 30 void menu(void);//菜单函数 void create(void);//新建文件及输入文本函数 void encrypt(void);//加密函数 void decrypt(void);//解密函数 int judge(void);//判断函数 int proceed(code);//判断密码是否合

加密技术及常见加密算法

有了互联网的同时给我们的日常生活带来了不少的便利,与此同时也给我们带来了不少的安全隐患,可能你在和别人通信的同时,通信数据就被别人截获了,所以就必须要有一种相应的加密技术,来保护我们的通信隐私.那么今天就大家来简单的了解一下加密技术及一些常见的加密算法. 1.为什么需要加密 1.不加密流量的易受攻击性 2.不加密密码/数据容易被嗅探 3.不加密数据容易被操作 4.不加密无法验证操作 5.不加密相当于邮寄明信片 2.不安全的传统协议 telnet.FTP.POP3等等:不安全密码 http.smt

常见数据库加密技术对比

数据库加密作为近年来兴起的数据库安防技术,已经被越来越多的人所重视.这种基于存储层加密的防护方式,不仅可以有效解决数据库明文存储引起的泄密风险,也可以防止来自内部或者外部的入侵及越权访问行为. 从技术手段上来看,现今数据库加密技术主要有三大类,分别是前置代理及加密网关方式.应用层加密方式以及后置代理方式.这三类技术各自的特点如何,彼此之间孰优孰劣,下文详尽介绍. 前置代理及加密网关技术 该技术思路是在数据库之前增加一道安全代理服务,对数据库访问的用户必须经过该安全代理服务,在此服务中实现如数据加

cocos2d-x 2.1 Win32+Android开发中的sqlite数据库加密技术探讨

注意:本博客转移自本人约一年前的ITPUB博客文章,为的是便于学员参考之用. 很显然,cocos2d-x编程中只了解基本的sqlite数据库操作技术只是一个开头,真正把此数据库数据应用于实际中不使用一定的加密及解密技术几乎是不行的. 这个问题尽早会来到我面前,这不?现在就来了.一开始,自然想使用最省工的了:但是,这样的好事并不多,极少极少...... 于是,我先搜罗了一些现成的文章拿来一阅. 1,Sqlite数据库加密解密 SRC: http://blog.sina.com.cn/s/blog_

Google震惊密码界:攻破SHA-1加密技术

在美国的2月23日,Google在密码学领域干了件大事,它提交了第一次成功的SHA-1碰撞攻击.谷歌宣布找到SHA-1碰撞的算法,需要耗费110块GPU一年的运算量,并将在90天后公布源码. 1.首先说说,什么是SHA-1? SHA-1,被称作哈希(Hash)算法,一个非常流行的加密散列函数.在许多安全协议中广为使用,通常被用做密码加密,文件校验等,曾被视为MD5的后继者,且存在不可逆性. 简单来讲: 比如,我有一个网站,用户在注册的时候会输入用户名和密码.大家都知道如果密码是明文的方式存储在数

浅谈 PHP 中的多种加密技术及代码示例

信息加密技术的分类 单项散列加密技术(不可逆的加密) 属于摘要算法,不是一种加密算法,作用是把任意长的输入字符串变化成固定长的输出串的一种函数 MD5 string md5 ( string $str [, bool $raw_output = false ] ); //MD5加密,输入任意长度字符串返回一个唯一的32位字符 md5()为单向加密,没有逆向解密算法,但是还是可以对一些常见的字符串通过收集,枚举,碰撞等方法破解;所以为了让其破解起来更麻烦一些,所以我们一般加一点盐值(salt)并双

使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据

本文全部源代码下载:/Files/chnking/EncryptLongData.rar 一.  使用证书结合对称加密算法加.解密长数据 上一章节讨论了如何使用RSA证书加密数据,文中提到:“Dotnet的RSA实现有个特点,它必须要在明文中添加一些随机数,所以明文不能把128字节占满,实际测试,明文最多为117字节,留下的空间用来填充随机数”.也就是说对于1024位密钥的RSA来说,一次只能加密128字节的数据,对于Dotnet的RSA实现更是只能加密117个字节的数据. 这就引出一个问题,超

Windows加密技术概述

Windows加密是安全体系的重要基础和组成部分.现代CPU的保护模式是系统安全的硬件基石,基于CPU硬件的特权分级,Windows让自身的关键系统代码运行在高处理器特权级的内核模式,各种应用程序则运行在低处理器特权级的用户态,保证了系统层面的基本安全控制逻辑(如内存.文件等系统资源的访问控制机制等)的有效性.加密技术与系统安全控制逻辑的结合,使得用户信息在面对一定程度上不可靠的存储和传输环境时,如计算机失窃.存在网络嗅探的情形下,仍能保持其私密性.不可篡改的完整性等安全属性. Windows加