Index: fw/crypt/yc_calc.c
===================================================================
--- /YC3121_SDK/fw/crypt/yc_calc.c	(revision 785)
+++ /YC3121_SDK/fw/crypt/yc_calc.c	(working copy)
@@ -818,12 +818,24 @@
 	//
 	RECFR=len-1;
 	value=calc_run(FUNC_MODINV_PRIME); 
-	
+	MyPrintf("value = %08x\n",value);
 	if (value!=RET_CALC_IMPLEMENT_SUCCESS)
 		return value;
+     MyPrintf("22222\n");
+         MyPrintf("redbr\n" );
+    mem_cpy(result, REDAR, len);
+    for(int i = 0;i<len;i++)
+    {
+        MyPrintf("%08x  ",REDAR[i]);
+    }
+    for(int i = 0;i<len;i++)
+    {
+        MyPrintf("%08x  ",result[i]);
+    }
+      //  MyPrintf("redbr = %08x\n",REDBR);
 	if (mem_cmp2(REDBR,1,len) != EQUAL)
 		return RET_CALC_GCD_NOT_ONE;
-		
+	  MyPrintf("333333\n");	
 	if (result != NULL)
 		mem_cpy(result, REDAR, len);
 	return RET_CALC_IMPLEMENT_SUCCESS;
Index: fw/crypt/yc_crypt.lib
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: fw/crypt/yc_rsa.c
===================================================================
--- /YC3121_SDK/fw/crypt/yc_rsa.c	(revision 785)
+++ /YC3121_SDK/fw/crypt/yc_rsa.c	(working copy)
@@ -1859,11 +1859,13 @@
 		{
 			mem_set(&tmp[1], 0, wlen-1);
 			tmp[0] = key->e[0]+(key->e[1]<<8)+(key->e[2]<<16)+(key->e[3]<<24);
+                MyPrintf("tmp = %08x",tmp[0]);
 			if (calc_modinv((uint32_t *)key->d, tmp, (uint32_t *)key->n, wlen) == RET_CALC_GCD_NOT_ONE)
 			{
 				key->p[0]++;
 				key->q[0]++;
 //				reverse_pq(key);
+                 MyPrintf("1111\n");
 				return RET_RSA_RANDNUM_NOT_ACCEPT;
 			}
 		}
Index: fw/crypt/yc_sm2.c
===================================================================
--- /YC3121_SDK/fw/crypt/yc_sm2.c	(revision 785)
+++ /YC3121_SDK/fw/crypt/yc_sm2.c	(working copy)
@@ -10,6 +10,12 @@
 //          klen   -需要派生得到的长度
 //输出参数： K      -计算后返回的内容（二进制值）,分配空间至少为需要keylen
 //返回值：RET_SM2_KDF_SUCCESS表示成功，RET_SM2_KDF_FAILURE表示失败
+
+static void SM2_DecEncSpeed(void)
+{
+	SYSCTRL_RSACLK = 7;
+}
+
 uint32_t SM2_KDF(uint8_t *K, uint32_t klen,  uint8_t *Z, uint32_t zlen)
 {
     uint8_t cdgst[32]={0}; //摘要
@@ -1036,6 +1042,7 @@
 					 SM2_PublicKeyTypeDef *key,  SM2_EllipseParaTypeDef *para,
 					rng_callback f_rng, void *p_rng,uint8_t config)
 {
+    SM2_DecEncSpeed();
 	uint32_t i,ret;
 
 	uint32_t k[9]={0x49DD7B4F,0x18E5388D,0x5546D490,0x8AFA1742,0x3D957514,0x5B92FD6C,0x6ECFC2B9,0x4C62EEFD};
@@ -1247,6 +1254,7 @@
 					 SM2_PrivateKeyTypeDef *key,  SM2_EllipseParaTypeDef *para,
 					rng_callback f_rng, void *p_rng,uint8_t config)
 {
+    SM2_DecEncSpeed();
 	uint32_t i,ret;
 	uint32_t k[9]={0};
 	uint8_t data_temp[84]={0};
