AES加密的几种工作模式

2018年9月21日 没有评论

高级加密标准(Advanced Encryption Standard: AES)是美国国家标准与技术研究院(NIST)在2001年建立了电子数据的加密规范。其是对称加解密算法的最经典算法之一,它是一种分组加密标准,每个加密块大小为128位,允许的密钥长度为128、192和256位。这里只介绍ECB、CBC、CFB和OFB四种加密模式。

其实现的数据加密算法有字节代替(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)、轮密钥加(AddRoundKey)几种。

一、ECB模式

ECB模式又称电子密码本模式(Electron[......]

Read more

RSA算法之我见

2018年9月19日 没有评论

一、缘起

8月份的时候,现网使用的某应用使用的RSA算法进行加解密(管理端使用公钥加密,被管理端使用私钥解密),而后被我通过一些技术手段取得了公钥信息,进而写出了一个可以对接的crack小程序,在告诉相应的开发人员以后,其让为RSA是不可能被破解的,其实其忽略了RSA算法的基础。本篇就总结下我所了解的RSA加密。

二、RSA的历史

RSA-history

RSA的算法历史我将其分为三个块:

  • 理论基础块:最早源于1636年的费马小定理,几十年后的欧拉在验证费马小定理的基础上,提出了欧拉定理。而RSA算法就是在欧拉定理的基础上的应[......]

Read more

分类: 安全/漏洞 标签: ,

RSA算法基础详解

2018年9月18日 没有评论

RSA算法是最重要算法之一,它是计算机通信安全的基石,安全可靠只要有计算机网络的地方就有RSA算法,在它诞生之前---即1976年以前,加解密信息使用同一种规则:

甲方选择某一种加密规则,对信息进行加密;
乙方使用同一种规则,对信息进行解密

虽然理论上,只要加解密“规则”(即“密钥”)足够复杂,这种方式也可安全的传递信息。但这种方法最大的弱点就是,密钥在传递的过程中易被泄露,这种加密和解密使用同样规则的方法,被称为“对称加密算法”。

一、RSA算法

倘若在加解密信息的过程中,能让加密密钥(公钥)与解密密钥(私钥)不同,即:

[......]

Read more

分类: Linux/unix/mac 标签: ,

Java中Socket Read阻塞问题

2018年9月3日 没有评论

本人来说并不熟悉JAVA语言,只是近期在分析某个简单的java agent程序时,根据对应的代码写了一个对接的程序,两者之间是典型的C/S socket编程。客户端在向服务端发送相应的指令后,服务端(装agent的主机)执行后会返回执行的数据给客户端。在直接一行行收取数据时是正常的,但通过while循环时会卡住。

一、java读取数据的两种方式

从Socket上读取对端发过来的数据一般有两种方法:一种是按字节,一种是按字符。

1、按照字节流读取

BufferedInputStream in = new BufferedInputSt[......]

Read more

ssh安全限制二三事

2018年8月31日 没有评论

反编译java class文件

2018年8月30日 没有评论

java module解压及java常见打包格式

2018年8月29日 2 条评论

golang time模块相关

2018年8月25日 没有评论

golang json数据的处理

2018年8月21日 没有评论

golang执行系统command

2018年8月19日 没有评论