- 博客(26)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注

原创 银联des加密实现mac算法实现
uint8_t CalMAC(uint8_t * inbuf, int len, uint8_t * outbuf){ uint8_t buf[17]={0}, tmpbuf[17]={0}; int i, l, k, ret; uint8_t Mac_key[17] = {0}; memset(buf, 0, sizeof(buf));...
2018-09-05 14:12:46
1293
原创 国密SM2验签算法浅谈(二)
二、SM2签名验签机制SM2曲线方程,其中六个参量都是固定的。根据国密局给出的规范定义如下:方程为: y2 = x3 + ax + by p=FFFFFFFE FFFFFFFFFFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFF;a=FFFFFFFE FFFFFFFFFFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC;b=28E9FA9E 9D9F5E344D5A9E4B CF6
2021-09-29 16:12:11
5230
原创 国密SM2验签算法浅谈(一)
在测PBOC 3.0中的脱机数据国密认证中,发卡行公钥证书、IC卡公钥证书、签名的静态应用数据、签名的动态数据都会用到签名验签的功能。那么验签是怎么样的原理呢?在了解验签功能之前我们来了解下签名和验签是怎么回事,下面我们先来了解一些基本知识,直接上干货吧。一、SM2算法基本知识SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。公钥密码算法属于非对称加密算法,常见的非对称加密算法还有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。非对称加密算
2021-09-29 16:08:53
2998
1
原创 区块链安全问题
在谈区块链安全问题之前我们先来了解下区块链基本知识。什么是区块链区块链(BlockChain),是区块(Block)和链(Chain)的直译,区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。其数据结构如图1所示,即每个区块保存规定时间段内的数据记录,并通过密码学的方式,构建一条安全可信的链条,形成一个不可篡改、全员共有的分布式账本。区块链工作流程,主要如下:1) 发送节点将新的数据记录向全网进行广播2) 接收节点对收到的数据记录信...
2021-08-24 10:26:45
4679
原创 PBOC命令格式2
验证(VERIFY)命令内部认证(INTERNAL AUTHENTICATE)命令响应报文中的数据对象是一个标签为„80‟的基本数据对象。数据域中包括签名动态应用数据。生成应用密文(GENERATE AC)命令响应报文的数据域响应报文的数据域包含一个BER-TLV编码的数据对象。这个数据对象需要按照以下两种格式之一编 码。 格式1: 响应报文中的数据对象是...
2020-04-30 11:04:26
615
原创 PBOC命令格式解析1
select选择命令选择(SELECT)命令通过文件名或AID来选择IC卡中的PSE或ADF。成功执行该命令设定PSE或ADF的路径。后续命令作用于与用SFI选定的PSE或ADF相联系的AEF。 从IC卡返回的响应报文包含回送FCI。GPO 交互获取处理选项(GPO)命令用来启动IC卡内的交易。 IC卡的响应报文中包含应用交互特征(AIP)和应用文件定位器(AFL)...
2020-04-28 16:54:42
1223
原创 QPBOC-联机处理和脱机处理
联机处理: 根据后台要求tag进行组装上送报文,终端根据后台报文进行解析,根据相应的返回码判断终端是联机成功、失败、拒绝。根据这些解析进行后续处理,整个联机交易就完成了,是不是很简单。下面是截取检测中心组装联机报文要求,仅供参考:脱机处理: 脱机处理不需要和后台交互,比较好处理,就根据逻辑流程判断是脱机拒绝和脱机成功进行判断就行。...
2020-04-13 10:06:53
1082
原创 QPBOC——数据认证
非接数据认证三种方式SDA数据认证,标准DDA数据认证,FDDA数据认证也是DDA一种快速表现方式。SDA二步曲:步骤 1:取得 CA 公钥 终端使用卡片中的公钥索引和RID来唯一确定并取得存储在终端中的公钥和相关信息。步骤 2:发卡行公钥的获取 终端利用认证中心公钥验证发卡行公钥证书,验证正确则取出证书中的发卡行公钥。步骤 3:签名静态应用数据(SAD)的认证 终端利用发卡...
2020-04-07 10:39:23
1263
原创 QPBOC规范——CVM处理
CVM流程:需要终端有cvm需求,终端支持联机PIN或签名方式一种或两种。——如果卡片交易属性(标签“9F6C”)数据元在卡片中未提供,支持签名的终端应当认为支持 签名。如果终端要求 CVM,应当在单据上打印签名行;——支持超过一个 CVM 的终端应当查询卡片交易属性(标签“9F6C”)的第 1 字节第 8 位和第 7 位决定卡片选择哪个 CVM。如果位 8=‘1’,终端应当执行联机 PI...
2020-04-03 11:18:20
1063
原创 QPBOC规范——读应用数据
脱机交易的 READ RECORD 命令处理 对于脱机交易,交易将继续进行。终端对AFL中的每一条记录都发送READ RECORD命令。当卡成功返 回最后一条记录后,交易防拔位被复位为零,用来指示终端已经完成与卡片的交易。 ——卡片应当能够知道最后一条记录被读取; ——在响应最后一条 READ RECORD 命令前,卡片应当设置交易防拔位(卡片内部指示器)为零; 注: 卡片不会知道终端是否成功接受...
2020-04-02 10:31:27
452
原创 QPBOC规范——GPO流程
GPO流程:获取处理选项(GET PROCESSING OPTIONS)命令格式:卡片和终端都支持的最适当方法的要求,决定了处理选择的顺序。qPBOC支持快速联机和脱机交易, 不需要卡片插入插槽或放在卡盘上。 ——qPBOC:如果卡片支持 qPBOC 且“终端交易属性”第 1 字节第 6 位=‘1’ (支持非接触 qPBOC) , 则卡片应使用 qPBOC 路径,终端应按照 qPBOC...
2020-04-01 10:02:59
1345
原创 QPBOC——应用选择
终端应用选择流程图:SELECT命令报文:SELECT 命令引用控制参数:SELECT 命令可选参数:Data:2PAY.SYS.DDF01。 终端可以按照商户的命令或预定义超时之后,通过停止检测处理和关闭非接触界面来终止交易。如果在应用选择前,同时检测到多个非接触卡,则终端应将此情况向持卡人显示,并且要求只放置一张卡。注意:——为...
2020-03-31 11:00:41
817
原创 QPBOC规范详解-预处理
QPBOC总体流程:终端要求:支持Type A 和Type B;预处理流程:——终端应获取授权金额(标签“9F02”);——如果终端配置为支持状态检查,并且授权金额为一个货币单位(这是状态检查要求的),则终端用终端交易属性(9F66)字节2 中的第8 位表示需要联机应用密文。支持状态检查应是一可配置的选项,在实施时应打开才能操作。这种检查的缺省行为为关闭;——如果授权...
2020-03-30 10:29:28
1110
原创 C语言基本语法
C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面的 C 语句包括五个令牌:分号(;)、注释(//或/****/)、关键字、标识符、空格。其中分号是程序结束符,注释是为了说明语句意思可以单行或多行,C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字...
2019-05-28 10:19:33
3260
原创 c语言环境搭建_针对初学者
C语言环境有很多,我这里主要是介绍linux环境,对于初学者来说这个很适合。首先下载vmware虚拟机,安装教程可以参考https://blog.youkuaiyun.com/qq_40950957/article/details/80467513,我就不再鳌术,对于ubutun镜像可以去官网(https://www.ubuntu.com/download/desktop)下载镜像,可以参考ht...
2019-05-27 10:05:32
1675
原创 UE截取部分区域方法
网上找了很多大多实现不了截取区域数据方法,现在说说我使用的方法:1.要拷贝区域内16进制数据,首先先复制数据到空白文件。2.在空白文件按Alt+c,进行列选择,就可以拖选所要的区域数据,如下就成功了。 ...
2019-01-02 16:24:34
3817
原创 校验日期合法性,
/**************************************************************************** 功能描述: 校验日期合法性,日期格式为:YYYYMMDD****************************************************************************/int Check...
2018-09-05 14:24:18
1704
原创 Linux socket 超时接收设置
int socket_rxBuf(u8* outdata,u16* length){ int recvbytes =0; int i; struct timeval timeout={10,0};//10s int ret=setsockopt(sockfd,SOL_SOCKET,SO_RCVTIMEO,(const char*)&timeout,si...
2018-09-05 14:18:47
4716
原创 linux socket 非阻塞设置
int socket_open_connect_ip(const u8 *ip,const u32 port){ int len = 0; //int port= 6908; int ret; struct sockaddr_in addr; if(ip!=NULL); else return -100;//no ...
2018-09-05 14:16:39
2280
原创 安卓启动方式
第一种方式:通过StartService启动Service通过startService启动后,service会一直无限期运行下去,只有外部调用了stopService()或stopSelf()方法时,该Service才会停止运行并销毁。要创建一个这样的Service,你需要让该类继承Service类,然后重写以下方法:onCreate() 1.如果service没被创建过,调用startS...
2018-03-22 10:00:24
251
原创 银联密钥加密方式
一、数据补位DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可。这里有个问题就是为什么要进行数据补位?主要原因是DES算法加解密时要求数据必须为8个字节。二、ECB模式DES ECB(电子密本方式)其实非常简
2016-09-13 18:16:38
2998
原创 java this和super理解
最近做项目碰到super问题的理解,super是默认的class B{public B(){System.out.println("PPPPPP");}public B(byte b){System.out.println("BBBB");}public void f(){System.out.println("fly");}}public cl
2016-09-12 17:58:39
248
原创 银联des和3des加密比对checkvalue java
private boolean checkValueDes(byte[] keyvalue,byte[] checkvalue,byte uMode){byte buf[] = new byte[8];if(uMode == 1){String DES = "DES/ECB/NoPadding";try{ KeySpec ks = new DESKeySpec(k
2016-09-12 17:51:38
2491
原创 安卓笔记
mainActivity.java: //声明所需的类 //设置资源文件为该类的对象 //调动所需的类。就将1定义为true,0定义为flase,这个是bool变量的约定,布尔是这样设定的jad163046311205String 转intint i = Integer.parseInt(str);数据类型 大
2016-09-09 10:52:28
222
原创 4412 emmc分区的命令
Fdisk -c 0 按默认方式给EMMC分区:linux 内核镜像文件5M; Android内核镜像文件为300M;Data和Cache文件为1G; 临时文件为300M;剩下为用户空间即第一区;fatformat mmc 0:1格式化Fat文件系统,也就是默认最大的用户存储空间ext3format mmc 0:2
2015-09-15 23:26:07
667
原创 4112开发板的加载U盘的问题
将U盘插入开发板,有提示已经连上了,但是却没有显示。手册上说会有udsik这个文件夹,但是找不到。问题解决:1、cd /dev,可以看到有sd1(如果该文件夹里面没有类似的sd文件的话,下面的步骤也可以继续做,结果都会成功的),这是插u盘的时候的提示sd:sda12、在dev目录下 创建节点 mknod sda1 b 8 13、cd /mnt/4、mkdir udisk5、
2015-09-15 23:24:46
396
(定稿)非接电子现金“闪卡”处理技术指南-20150605.docx
2019-05-31
scrt问题。。。。。。
2015-08-25
为何没有编译。c文件会自动生成。o文件,这是啥原理,求解答
2015-08-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人