当前位置:   article > 正文

随机数加密算法的解密算法_随机 xmr 算法解密

随机 xmr 算法解密
      
解密程序就是利用加密密钥把加密的文档即秘文用密钥恢复成原来的文档。算法实现的原理就是用密钥把秘文文档重新编号,然后按密钥的排序结果输出秘文,就可以得到原加密的文档,也就达到了解密的目的。
#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <iostream>
 
void  main (int argc, char * argv[])
{
     char str[15];// 用于保存加密的字符串 
     int myid, numprocs; // 进程号、进程数
     int namelen;
    char processor_name[MPI_MAX_PROCESSOR_NAME];
    MPI_Status status;
    MPI_Init ( &argc, &argv );
    MPI_Comm_rank ( MPI_COMM_WORLD, &myid );
    MPI_Comm_size ( MPI_COMM_WORLD, &numprocs );
    MPI_Get_processor_name(processor_name,&namelen);   
    if(myid==0) // 读取密钥信息,并把密钥传给1号进程。
     {
         FILE *key=fopen("key.txt","r");
         if(key){
         int temp;    
         temp=fgetc(key)-48;
         fprintf(stderr," 密钥:");
         /* 读到文件结束,结束符为-1,ASCII码是-1-48=-49,所以把-49作为文件结束标志*/
         while (temp!=-49)
         {
              fprintf(stderr,"%d",temp);
              MPI_Send(&temp,1,MPI_INT,1,0,MPI_COMM_WORLD);
              temp=fgetc(key)-48;             
         }
         fprintf(stderr,"/n");
         MPI_Send(&temp,1,MPI_INT,1,0,MPI_COMM_WORLD);     
         }
     }else if(myid==1)//1 号进程负责用接收到密钥解密加密的文档。
     {
         int recvnum=0;
         FILE *out=fopen("out.txt","r");// 打开要解密的文档
         fgets(str,15,out);
         fprintf(stderr," 密文:");
         fprintf(stderr,str);
         fprintf(stderr,"/n");
         FILE *source=fopen("source.txt","w");// 用于保存解密后的文档
         MPI_Recv(&recvnum,1,MPI_INT,0,0,MPI_COMM_WORLD,&status);
         fprintf(stderr," 解密后的原文是:");
         while(recvnum!=-49)// 读到文件尾,结束
         {
              fprintf(stderr,"%c",str[recvnum]);
              fprintf(source,"%c",str[recvnum]);
              MPI_Recv(&recvnum,1,MPI_INT,0,0,MPI_COMM_WORLD,&status);             
         }
         fprintf(stderr,"/n");      
     }
   fprintf( stderr, "Process %d of %d on %s/n",myid, numprocs, processor_name );   
   MPI_Finalize ( );
}
       说明:利用加密后的密文: out.txt 和解密密钥 key.txt 解密,密文为: udenctu.jb ,密钥为 9805721643 。如上图所示,解密后的文档保存到 source.txt 中。
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号