![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安全
chengqiuming
这个作者很懒,什么都没留下…
展开
-
Java实现RSA的加密解密签名和验证
一RSAEncryptpackage com.ihep;import javax.crypto.BadPaddingException;import javax.crypto.Cipher;import javax.crypto.IllegalBlockSizeException;import javax.crypto.NoSuchPaddingException;import java.io.*;import java.security.*;import java.securit..原创 2020-11-12 21:19:39 · 839 阅读 · 1 评论 -
安全技术优秀学习资料收录
比较全面的安全技术博客http://snowolf.iteye.com/category/68576原创 2020-05-18 17:17:33 · 186 阅读 · 0 评论 -
网络常见攻击类型
一 密码暴力破解攻击“密码暴力破解”攻击的目的是破解用户的密码,从而进入服务器获取系统资源或进行系统破坏。例如,黑客可以利用一台高性能的计算机,配合一个数据字典库,通过排列组合算法尝试各种密码,最终找到能够进行系统的密码,登录系统获取资源或进行信息篡改。现在网络上有很多类似这种暴力破解密码的软件。如果密码设置过于简单,那么黑客可以再几分钟内获取系统密码。密码是登录系统的第一防线,如果密码破原创 2017-04-12 10:11:17 · 4183 阅读 · 0 评论 -
网络防范攻击策略
一 网络安全流程图二 防范攻击策略1、网络传输安全网络传输安全一般由网络安全设备构成,常见的网络安全设备有硬件防火墙、网络入侵检测(IDS),路由器、交换机等。防火墙可以对进入网络设备的主机设置各种规则,保证互联网合法主机安全进入服务器,局域网主机可以根据防火墙指定的规则访问互联网。有些攻击行为可以在防火墙允许的规则内进行攻击。对于这种攻击,防火墙显得无能为力,此时可以使用原创 2017-04-12 10:11:27 · 3369 阅读 · 0 评论 -
Linux操作系统常用安全设置
一 禁止系统响应任何从外部/内部来的ping操作如果没有人能ping通机器并收到响应,那么就可以大大增强服务器的安全性。Linux可以执行如下设置,禁止ping操作。[root@localhost ~]# echo "1">/proc/sys/net/ipv4/icmp_cho_ignore_all禁ping命令见下截图:默认情况下icmp_echo_ignore_all值为0原创 2017-04-12 10:11:56 · 702 阅读 · 0 评论 -
openssl哈希表
一 哈希表 在一般的数据结构如线性表和树中,记录在结构中的相对位置是与记录的关键字之间不存在确定的关系,在结构中查找记录时需进行一系列的关键字比较。这一类查找方法建立在“比较”的基础上,查找的效率与比较次数密切相关。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立确定的对应关系,使每个关键字和结构中一个唯一的存储位置相对应。在查找时,只需根据这个原创 2017-04-12 10:21:56 · 980 阅读 · 0 评论 -
用OpenSSL命令行生成证书文件
一 生成服务器端的私钥server.key [root@localhost opensscommand]# openssl genrsa -des3 -out server.key 1024Generating RSA private key, 1024 bit long modulus..................++++++..................++原创 2017-04-12 10:23:18 · 1947 阅读 · 0 评论 -
OpenSSL命令之算法类大全
一 DH算法(Gendh/Dhparam/Dh)1 gendh 功能:用于生成DH参数。 用法:openssl gendh [-out file ] [-rand ] [-engine e ] 选项:-out file 输出结果到file指定的文件,如果不指定,结果显示在屏幕屏幕上-2 将2作为生成值,此为默认值-5 将5作为生成值-rand 指定随机数文件原创 2017-04-12 10:23:09 · 3058 阅读 · 0 评论 -
DH方式密钥交换四种表达方式
一、理论化的表达方式1、Alice与Bob确定两个大素数p和g,这两个数不用保密2、Alice选择另一个大随机数a,并计算A如下:A=ga mod p3、Alice将A发给Bob4、Bob 选择另一个大随机数b,并计算B如下:B=gb mod p5、Bob将B发给Alice6、计算秘密密钥K1如下:K1=Ba mod p7、计算秘密密钥K2如下:K2=Ab mod原创 2017-04-12 10:23:00 · 4040 阅读 · 0 评论 -
SSL握手协议抓包之DH
一 密钥交换算法密钥交换算法一般常用的有RSA和DH,本篇理论结合实际,介绍SSL握手协议中关于DH的抓包过程。 二 SSL握手协议中DH密钥交换图 三 DH密钥交换抓包分析SSL握手第一阶段:1、Client Hello (C->S)2、Server Hello (S->C)SSL握手第二阶段:3、Certfi原创 2017-04-12 10:22:53 · 3536 阅读 · 0 评论 -
RSA的公钥是怎样计算出来的?
第一步,随机选择两个不相等的质数p和q。爱丽丝选择了61和53。(实际应用中,这两个质数越大,就越难破解。) 第二步,计算p和q的乘积n。爱丽丝就把61和53相乘。n = 61×53 = 3233n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。(实际应用中,RSA密钥一般是1024位,重要场合则为2048位。)原创 2017-04-12 10:22:45 · 14912 阅读 · 1 评论 -
SSL握手协议抓包之RSA
一 密钥交换算法密钥交换算法一般常用的有RSA和DH,本篇理论结合实际,介绍SSL握手协议中关于RSA抓包过程。 二 SSL握手协议中RSA密钥交换图 三 RSA密钥交换抓包分析SSL握手第一阶段:1 Client Hello(C->S)2 Server Hello (S->C)SSL握手第二阶段:3 Certificate原创 2017-04-12 10:22:36 · 2005 阅读 · 2 评论 -
SSL协议之握手协议
一、握手协议握手协议是客户机和服务器用SSL连接通信时使用的第一个子协议,握手协议包括客户机与服务器之间的一系列消息。SSL中最复杂的协议就是握手协议。该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。每个握手协议包含以下3个字段1、Type:表示10种消息类型之一。2、Length:表示原创 2017-04-12 10:22:23 · 9925 阅读 · 0 评论 -
SSL协议之基础篇
一、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。密文(cipher text):明文消息经过某种编码后,得到密文消息。加密(encryption):将明文消息变成密文消息。解密(decryption):将密文消息变成明文消息。算法:取一个输入原创 2017-04-12 10:22:12 · 814 阅读 · 0 评论 -
哈希应用
一 哈希介绍1、若关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数,按这个思想建立的表为散列表。2、对不同的关键字可能得到同一散列地址,即k1≠k2,而f(k1)=f(k2),这种现象称为碰撞(英语:Collision)。具有相同函数值的关键字对该散列函数来说称做同义词。综上所述,根据散列函数f(k)和处理碰撞的方法将一组关键字映原创 2017-04-12 10:22:04 · 464 阅读 · 0 评论 -
对称算法的四种运行模式
对称算法使用一个密钥。给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同。解密时,使用的密钥与加密密钥相同。对称算法主要有四种加密模式:一 电子密码本模式 Electronic Code Book(ECB)这种模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。其缺点是:电子密码本模式用一个密钥加密消息的所有原创 2017-04-12 10:18:48 · 895 阅读 · 0 评论 -
摘要算法
摘要算法是一种能产生特殊输出格式的算法,这种算法的特点是:无论用户输入多少长度的原始数据,经过计算后输出的密文都是固定长度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这种提取就是摘要,被摘要的数据内容与原数据有密切联系,只要原数据稍有改变,输出的“摘要”便完全不同,因此,基于这种原理的算法便能对数据完整性提供较为健全的保障。但是,由于输出的密文是提取原数据经过处理的定长值,所原创 2017-04-12 10:18:58 · 3493 阅读 · 0 评论 -
公钥算法
在公钥密码系统中,加密和解密使用的是不同的密钥,这两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密。这使得通信双方无需事先交换密钥就可进行保密通信。其中加密密钥和算法是对外公开的,人人都可以通过这个密钥加密文件然后发给收信者,这个加密密钥又称为公钥;而收信者收到加密文件后,它可以使用他的解密密钥解密,这个密钥是由他自己私人掌管的,并不需要分发,因此又成称为私钥,原创 2017-04-12 10:19:08 · 2790 阅读 · 0 评论 -
openssl prime命令
功能:检查一个数是否为素数。示例:[root@localhost ~]# openssl prime 794F is prime[root@localhost ~]# openssl prime -hex 4F4F is prime[root@localhost ~]# openssl prime -hex 4E4E is not prime原创 2017-04-12 10:19:22 · 494 阅读 · 0 评论 -
openssl源代码介绍
openssl源代码主要由eay库、ssl库、工具源码、范例源码以及测试源码组成。一 eay库是基础的库函数,提供了很多功能。源代码放在crypto目录下。包括如下内容:1、asn.1 DER编码解码(crypto/asn1目录),它包含了基本asn1对象的编解码以及数字证书请求、数字证书、CRL撤销列表以及PKCS8等最基本的编解码函数。这些函数主要通过宏来实现。2、抽象IO(BI原创 2017-04-12 10:19:31 · 1151 阅读 · 0 评论 -
openssl学习方法
通过学习openssl,用户能够学到PKI(Public Key Infrastructure)方面的各种知识,PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。其重要性不言而喻。以下为学习openssl的方法,供参考。1、建立学习环境建立一个供调试的openssl环境,可以是windows平台,也可以是linux或者其他平台。用户需要有在这些平台下调原创 2017-04-12 10:19:42 · 1573 阅读 · 0 评论 -
Linux下openssl的第1个程序
openssl是开源的,可以在上面编写测试代码,怎样编写呢?在此举一个例子。第一步:编写1个测试程序MD5test1.c,代码如下#include#include#includeint main(int argc,char**argv ){ MD5_CTX ctx; unsignedchar*data="123"; unsignedc原创 2017-04-12 10:19:53 · 968 阅读 · 0 评论 -
openssl堆栈
一 openssl堆栈堆栈是一种先进后出的数据结构。openssl大量采用堆栈来存放数据。它实现了一个通用的堆栈,可以方便的存储任意数据。它实现了许多基本的堆栈操作,主要有:堆栈拷贝(sk_dup)、构建新堆栈(sk_new_null,sk_new)、插入数据(sk_insert)、删除数据(sk_delete)、查找数据(sk_find,sk_find_ex)、入栈(sk_pus原创 2017-04-12 10:20:02 · 669 阅读 · 1 评论 -
openssl堆栈
一 openssl堆栈堆栈是一种先进后出的数据结构。openssl大量采用堆栈来存放数据。它实现了一个通用的堆栈,可以方便的存储任意数据。它实现了许多基本的堆栈操作,主要有:堆栈拷贝(sk_dup)、构建新堆栈(sk_new_null,sk_new)、插入数据(sk_insert)、删除数据(sk_delete)、查找数据(sk_find,sk_find_ex)、入栈(sk_pus原创 2017-04-12 10:20:33 · 282 阅读 · 0 评论 -
openssl内存分配
一 内存分配 用户在使用内存时,容易犯的错误就是内存泄露。当用户调用内存分配和释放函数时,查找内存泄露比较麻烦。openssl提供了内置的内存分配/释放函数。如果用户完全调用openssl的内存分配和释放函数,可以方便的找到内存泄露点。openssl分配内存时,在其内部维护一个内存分配哈希表,用于存放已经分配但未释放的内存信息。当用户申请内存分配时,在哈希表中添加此项信息,内存释原创 2017-04-12 10:20:41 · 466 阅读 · 0 评论 -
数字签名图文并茂
一 Alice 和 Bob的故事假如现在Alice向Bob传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为: 1.Alice准备好要传送的数字信息(明文)。 2.Alice对数字信息进行哈希运算,得到一个信息摘要。 3.Alice用自己的私钥对信息摘要进行加密得到Alice的数字签名,并将其附在数字信息上。原创 2017-04-12 10:20:49 · 1478 阅读 · 0 评论 -
openssl的简单使用(开山篇)
一 对称加密 工具:gpg,openssl enc 算法:DES,DES3,AES,Blowfish,Twofish,RC6,idea,CAST5 加密使用的命令: openssl enc -des3 -a -salt -in /path/from/somefile -out /path/to/somecipherfile 解密使用的命令: op原创 2017-04-12 10:17:44 · 742 阅读 · 0 评论 -
信息安全最基础的概念汇总
一 人为的恶意攻击:有目的的破坏,分为主动攻击和被动攻击(1)主动攻击:以各种方式有选择地破坏信息(修改、删除、伪造、添加、重传,乱序、冒充,传播病毒等)。(2)被动攻击:在不干扰信息系统正常工作的情况下,进行截获、窃取、破译 和业务流量分析等。 二 人为恶意攻击的常用手段(1)监听:攻击者通过监视网络数据获得敏感信息。(2)重传:攻击者事先截获部分或全部信息,以后将此信息原创 2017-04-12 09:59:44 · 574 阅读 · 0 评论 -
JAVA-对称加密算法PBE
一 AES、DES和3DES在使用上比较一致二 PBE算法优点三 PBE介绍1、PBE:Password Based Encryption 基于口令加密。通过加Salt来增强安全性。2、对已有算法的包装3、JDK和BC的实现4、通过加Salt来增强安全性四 常见算法五代码实现package com.imooc.原创 2017-12-08 19:50:22 · 590 阅读 · 0 评论 -
DH算法(密钥交换算法)
一 对称加密缺点密钥传递过程复杂,这是对称加密带来的困扰。二 DH密钥交换算法特点构建本地密钥双方密钥一致三 DH相关参数四 DH算法实现过程1、初始化发送方的密钥(KeyPairGenerator、KeyPair、PublicKey)2、初始化接受方的密钥(KeyFactory、X509EncodedKeySpec、DHPublicKe原创 2017-12-08 19:52:56 · 7523 阅读 · 0 评论 -
RSA算法Java实现
一 介绍唯一广泛接受并实现用于数据加密和数字签名公钥加密、私钥解密私钥加密、公钥解密二 RSA参数说明三 实现package com.imooc.security.rsa;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPa原创 2017-12-08 19:55:03 · 2064 阅读 · 0 评论 -
ElGamal算法实现
一 介绍只提供公钥加密、私钥解密Bouncy Castle二 参数说明三 代码实现四 应用场景原创 2017-12-08 19:57:00 · 6033 阅读 · 0 评论 -
消息摘要算法概述
一 常用算法MD:Message DigestSHA:Secrure Hash AlgorithmMAC:Message Authentication Code二 作用验证数据完整性数字签名核心算法三 MD算法MD5MD家族(128位摘要信息)::MD2、MD4原创 2017-12-08 19:58:22 · 723 阅读 · 0 评论 -
MD算法Java实现
一 代码实现package com.imooc.security.md;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.Security;import org.apache.commons.codec.binary.Hex;i原创 2017-12-08 20:00:30 · 823 阅读 · 0 评论 -
SHA算法Java实现
一 简介安全散列算法固定长度摘要信息二 SHA算法SHA-1、SHA-2(SHA-224、SHA-256、SHA384、SHA-512)三 SHA算法实现package com.imooc.security.sha;import java.security.MessageDigest;import java.security.NoSuchAlgori原创 2017-12-09 18:34:25 · 3208 阅读 · 0 评论 -
消息摘要算法MAC实现与应用
一 介绍MAC:Message Authentication CodeHMAC:keyed-Hash Message Authencication Code,含有密钥的散列函数算法。融合MD、SHAMD系列:HmacMD2、HmacMD4、HmacMD5SHA系列:HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512应用:原创 2017-12-09 18:37:16 · 688 阅读 · 0 评论 -
数字签名算法DSA
一 介绍DSS:Digital Signature Standard 数字签名标准DSA:Digital Signature Algorithm 数字签名算法DSA仅包含数字签名二 参数说明三 代码实现package com.imooc.security.dsa;import java.security.KeyFactory;import java原创 2017-12-10 06:08:58 · 2350 阅读 · 0 评论 -
证书的引入
一 非正常情况下非对称加密通信模型52.png攻击原理:发送方boy无法验证公钥的合法性,用了攻击者的公钥进行加密,攻击者可以用私钥进行解密,基于此,引入证书。 二 如何验证公钥的合法性为公钥加上数字签名 三 证书是什么证书是公钥+数字签名 四 证书的应用场景原创 2017-11-22 12:32:11 · 314 阅读 · 0 评论 -
密码概述
一 密码常用术语明文:待加密信息。密文:经过加密后的信息。加密:明文转为密文的过程。加密算法:明文转为密文的转换算法。加密密钥:通过加密算法进行加密操作用的密钥。解密:将密文转为明文的过程。解密算法:密文转为明文的过程。解密密钥:通过解密算法进行解密操作用的密钥。密码分析:截获密文者试图通过分析截获密文从而推断出原来的明文或密钥的过程。主动攻击:攻击者非法入原创 2017-11-22 12:31:23 · 800 阅读 · 0 评论 -
OSI与TCP IP安全体系
一 OSI安全体系 二 TCP/IP安全体制 大小: 164.4 KB 大小: 126.6 KB原创 2017-11-22 12:30:45 · 562 阅读 · 0 评论