加密/解密/密码学
加密/解密/密码学
柳鲲鹏
建立了编程学(编程基本功、平台化编程)、六石管理学等几个流派。
每涉及一个领域,都是顶级砖家。在这些领域中,如果遇到问题,最后肯定是搜索到本博客。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编程学:自己写的CDKEY代码已经看不懂了
仔细对比了代码,发现是循环顺序不一样。一个是从高到低,一个是低到高。我仔细研究了代码,觉得不对。按照我现在的理解,应该都是从高到低。于是反复研究,还是没找到原因。等我写个dump函数查一下。昨天心血来潮,决定写代码,解决密码的有效性。然后就顺便研究一下CDKEY的代码。发现几段类似的代码,就想提取成一个函数。想法是美好的,现实是奇怪的,一改就出错了。其实这是编程中常见的现象。咱不说注释本身对不对,你看明白注释,还不如直接DEBUG看看。我们能做的事情,就是代码要有条理。原创 2023-06-26 08:35:35 · 375 阅读 · 0 评论 -
世界首个处理密码有效位数的开源代码
世界上第一个研究密码有效位数的人,也许是我?这个没有查过,太阳底下没有新鲜事,应该有人研究过了。如果是我,那真是凭空捡漏了。需要提醒的是, 本源码遵循量子开源协议,有可能向你收费。原创 2023-06-27 09:15:34 · 164 阅读 · 0 评论 -
LINUX使用OpenSSL进行签名
其实使用gpg也能完成任务。因为看到某个网页有介绍这种方法,于是就记录下。原理图创建私钥# 创建私钥openssl genrsa -out key.pri -f4 2048# 查看私钥openssl rsa -inform PEM -in key.pri -text导出公钥# 导出公钥openssl rsa -inform PEM -outform PEM -in key.pri -out key.pub -pubout# 查看公钥cat key.pub..原创 2021-11-02 16:45:31 · 1514 阅读 · 0 评论 -
试论密码的熵(冗余度、有效位数)及充分利用问题
前几天开源CDKEY源码,设定自己的密码是“Quantum Office”,然后就想到密码的熵,觉察到目前密码的利用不充分问题。个人感觉应该早就有人讨论过这个问题,如果没有更好,那咱又拿到一个小小的世界第一。那么怎么充分利用密码的熵呢?思路就是进行进制转换,即选择限定的字符,然后转换为7位(128进制)。我们的密码,都是ASCII,就是英文加一些特殊符号。得到密码之后,转换为7位,再作为正式密码。原创 2023-06-23 12:52:20 · 333 阅读 · 0 评论 -
进制有趣且意外的事情:13位26进制相当于8位128进制
后来一想这事不对啊,128相当于26的5倍,怎么13位转换后为8位?应该是3位就差不多。于是又仔细研究了代码,没有发现问题;进行了一番正确性测试,也没问题。这几天研究了密码的有效性问题。当时试了一下,13位小写字母的密码,转换为128进制后是8位。原创 2023-06-29 08:45:51 · 153 阅读 · 0 评论 -
FRP服务器和客户端配置说明
肯定要先配置服务器,这样才能测试。common配置就是服务器的信息。原创 2024-03-06 10:24:25 · 586 阅读 · 0 评论 -
cmake 编译:goto error: jump to label [-fpermissive]
goto语句之后,不能有新定义变量,必须放在函数开头。这个应该还是编译选项有关。我直接编译是可以的。增加-fpermissive。即使是C++也不行。原创 2025-01-13 09:20:54 · 316 阅读 · 0 评论 -
sshd启动太慢,导致首次登录困难的问题(未解决)
开始以为是无法开机启动。长时间后(3-4分钟),又可以登录了。在/etc/hosts中加入自己的IP。想亲自分析代码,没时间,放弃。编辑sshd_config。原创 2024-03-02 09:02:03 · 666 阅读 · 0 评论 -
sshd: Unsupported option GSSAPIAuthentication/UsePAM
意思就是这两个标记不认识,把相应语句注释即可。原创 2024-03-04 09:10:35 · 1785 阅读 · 0 评论 -
全网首发:嵌入式交叉编译libssh,正确编译脚本
注意ssh需要指定的版本。比如我编译libssh-0.11.1,需要的版本是openssl-1.1.1。原创 2025-01-12 15:33:42 · 633 阅读 · 0 评论 -
warning: libcrypto.so.1.1, needed by ../lib/libssh.so.4.10.1, not found (try using -rpath or -rpath-
只是在编译examples时出错。原创 2025-01-12 10:25:03 · 252 阅读 · 0 评论 -
sshd: no hostkeys available -- exiting.
我编译时指定了路径,结果系统都提示有问题。原创 2024-02-29 09:16:38 · 3424 阅读 · 0 评论 -
全网首发:编译libssh,产生类似undefined reference to `EVP_aes_256_ctr@OPENSSL_1_1_0‘的大量错误
【代码】全网首发:编译libssh,产生类似undefined reference to `EVP_aes_256_ctr@OPENSSL_1_1_0‘的大量错误。原创 2025-01-12 10:28:29 · 751 阅读 · 0 评论 -
WINDOWS安装SSH服务器
22就是默认的端口。原创 2025-01-10 09:20:59 · 323 阅读 · 0 评论 -
嵌入式LINUX编译ssh
ssh方便是能上传文件。原创 2024-02-27 09:21:47 · 557 阅读 · 0 评论 -
npm ERR! request to https://registry.npm.taobao.org/@vue%2fcli failed, reason: certificate has expir
【代码】npm ERR!原创 2024-03-01 18:02:14 · 1226 阅读 · 1 评论 -
调用libssh接口,终端登录SSH服务器,执行命令、sftp上传、sftp下载的C代码
登录后默认路径是/root;执行命令改为/data;再执行命令发现还是/data。执行命令的channel不能复用,只能执行一次。原创 2025-01-10 10:48:03 · 332 阅读 · 0 评论 -
嵌入式LINUX移植、配置ssh
我的板子缺少libz.so/libcrypto.so,复制到/lib64下,解决。编译时指定prefix,产生的文件会自带这个目录。编译后的整个目录打包,复制到开发板。可以看到已经启动到后台了。可以使用ssh登录了。原创 2024-03-01 09:02:42 · 801 阅读 · 0 评论 -
sshd: Privilege separation user sshd does not exist
编译/etc/passwd,增加这样一行。原创 2024-02-29 11:06:03 · 1934 阅读 · 0 评论 -
开源了一个国密SM2代码,可以与网站互相验证
实际上吾并不知道是不是标准的国密SM2。优点就是有一个网站可以验证。本源码也是从别人那边改过来的,已经面目全非了。原创 2024-12-28 10:58:11 · 342 阅读 · 0 评论 -
一个可以在线测试验证国密SM2的网站
具体网站链接在线SM2加密解密,生成公钥/私钥对工具-我现在是越来越糊涂:原创 2024-12-23 13:07:46 · 487 阅读 · 0 评论 -
根据国密SM2的体验,我想问:国密具体标准到底是什么?哪里下载代码和库?
合作方要求加密数据。这个我熟,建议使用国密、公钥。我兴冲冲的从网上下载了代码,然后和对方进行联调,双方自己的加密解密都对,一旦让对方解密就错。在网上到处搜索代码,找到了一批代码,神奇的事情就在于,测试结果各不相同!原创 2024-12-22 14:44:45 · 177 阅读 · 0 评论 -
国密SM2源码(版本2)(是否标准,存疑)
【代码】国密SM2源码(版本2)(是否标准,存疑)原创 2024-12-22 11:52:52 · 204 阅读 · 0 评论 -
GMSSL的不同python版本
这个使用的库,是gmssl 3.2.2。搜索3.2.2,找不到相应的代码。这个使用的库,是gm ssl 3.1.1。原创 2024-12-20 11:37:19 · 842 阅读 · 0 评论 -
国密gmssl/SM2,同样的密钥和明文,两次加密的结果竟然不同
同样的密钥,同样的明文,加密结果不同,解密都正确。原创 2024-12-20 09:27:10 · 900 阅读 · 0 评论 -
github/gmssl源码嵌入式交叉编译(是否标准存疑)
【代码】国密SM源码下载及编译。原创 2024-12-19 15:17:18 · 179 阅读 · 0 评论 -
终于完成了:为什么吾非要亲自搞CDKEY
之前同事已经做过一版(吾当时就指点了思路,不听)。做出来的CDKEY实在是太业余,意思就是看着不够乱。 按理说,这工作已经完成了,头目也满意了,又跟吾无关,吾凑什么热闹?没看到也就算了,既然看到了,看着这样的工作,吾实在是……觉得太可笑,太丢脸……爱管闲事的毛病又来了。怎么办?没有人,而且除了吾别人也没那个能力,所以只能自己亲自搞了。 很久以前,某同事搞过CDKEY。他自己也很得意,简单的说过流程。他为什么会?因为他以前搞过(应该是从别人接手的,他也确实学会了)。吾亦没在意。对于别人来说工作原创 2021-09-25 09:11:56 · 309 阅读 · 0 评论 -
RSA加密:javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes
具体错误:javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:347) at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:404) at javax.crypto.Cipher.doFinal原创 2021-09-23 09:55:45 · 724 阅读 · 0 评论 -
CDKEY制作:为什么不能使用RSA?
既然是CDKEY,肯定要加密。那么使用什么算法呢?首先想到的就是非对称加密,如RCA。为什么呢?因为只要公开公钥,私钥不需要公开啊。试了一下:最短密钥长度512,7个char加密后是64字节。CDKEY一般是5x5、5x6、6x6,64表示起来怎么也得72字节吧? 如果是证书类,比如许可文件,完全可以使用RSA,因为内容可以长一些,1K都可以。只能使用对称加密。对称加密有个坏处,就是密钥是随产品走的。作为CDKEY,也只能这样了。...原创 2021-09-23 08:10:44 · 491 阅读 · 0 评论 -
JAVA RSA加密解密代码范例(byte[]版)
具体代码:package tsoffice;import javax.crypto.Cipher;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import java.security.PublicKey;import java.securit原创 2021-09-23 08:21:04 · 743 阅读 · 0 评论 -
列出本机JCE支持的Provider、消息摘要算法、公钥私钥算法
代码:package tsoffice;import java.security.Provider;import java.security.Security;public class CheckJCE { public static void main(String[] args) { Provider[] providers = Security.getProviders(); for (Provider p : providers){原创 2021-09-22 14:59:39 · 845 阅读 · 0 评论 -
JAVA RSA加密解密代码范例(Base64版)
测试通过:package tso.system.cdkey;import javax.crypto.Cipher;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import j原创 2021-09-22 14:45:05 · 1195 阅读 · 0 评论 -
JAVA DES加密解密代码范例
测试通过:package tsoffice;import java.security.Key;import java.security.NoSuchAlgorithmException;import javax.crypto.Cipher;import javax.crypto.NoSuchPaddingException;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;public原创 2021-09-22 13:43:36 · 557 阅读 · 0 评论 -
DES解密:java.security.InvalidKeyException: Parameters missing
DES加密时正常,解密时出错了:java.security.InvalidKeyException: Parameters missing at com.sun.crypto.provider.CipherCore.init(CipherCore.java:469) at com.sun.crypto.provider.DESCipher.engineInit(DESCipher.java:186) at javax.crypto.Cipher.implInit(Cipher.java:805)原创 2021-09-22 13:33:50 · 2816 阅读 · 0 评论
分享