一种实现ic卡rsa加密算法的协处理器的制作方法

文档序号:6606443阅读:381来源:国知局
专利名称:一种实现ic卡rsa加密算法的协处理器的制作方法
技术领域
本发明涉及一种用于IC卡的加密算法协处理器,尤其指实现RSA加密算法的协处理器。
背景技术
随着经济的发展和金融电子化水平的不断提高,智能IC(集成电路)卡已经逐渐成为生活中不可缺少的一部分。它广泛的应用于身份识别,电子交易,个人信息保存等领域。相对于传统的磁条卡或者存储器卡,智能IC卡由于内部带有CPU,不仅处理能力大大加强,而且提高了系统的保密能力。其中带有RSA加密协处理器(芯片)的智能卡,不仅可以提供强有力的数据加密能力,并且支持身份验证,签名等服务,获得了广泛的应用。但是市场上类似产品,其性能往往不尽如人意。RSA算法最核心的运算是模幂运算,而这种运算可以转换成一系列模乘和模平方运算,二者之差别仅在与乘数的来源不同。模乘平方运算通常是采用蒙哥马利算法。目前很多芯片对这一算法的实现采用基于定长乘法器的结构,芯片面积比较大,另外,针对不同的安全需求难以提供单片解决方案,缺乏灵活性和通用性,从而导致用户成本上升。

发明内容
本发明的目的在于提供一种实现IC卡RSA加密算法的协处理器,其不仅满足系统安全性的需求,而且减小芯片面积,增强应用的灵活性,从而降低用户的成本。
本发明所提供的一种实现IC卡RSA加密算法的协处理器,其特征在于它包括微处理器主控制模块、数据处理控制模块、存储器和数据处理单元,其中微处理器主控制模块,其与存储器和数据处理控制模块分别相连,控制存储器的初始化和控制数据处理控制模块对数据处理单元的间接控制;数据处理控制模块,其与微处理器主控制模块、数据处理单元和存储器分别相连,直接控制数据处理单元工作,同时控制存储器,并与微处理器主控制模块进行通信;存储器,其与微处理器主控制模块、数据处理控制模块和数据处理单元分别相连,从微处理器主控制模块读取并存储取用户的各种设置和初始化信息,接收数据处理控制模块的控制信号,保存数据处理单元运算结果;数据处理单元,其与数据处理控制模块和存储器分别相连,在数据处理控制模块的控制下,对存储器中的输入数据进行处理,完成整个加密运算,并将处理后的结果保存到存储器中去。
上述的实现IC卡RSA加密算法的协处理器,其中数据处理单元包括第一移位寄存器组、第二移位寄存器组、加法器、第一选择器、第二选择器、取模逻辑单元、乘数数据寄存器和加法数据发生器,第一移位寄存器组,接收加法器或者外部存储器的输入数据,和加法器一起完成移位累加功能,并将结果通过第二选择器输出到外部存储器中和取模逻辑单元;第二移位寄存器组,接受外部存储器和第一移位寄存器组的数据输入,对数据进行移位操作,并将输出数据通过第二选择器输出到存储器中和取模逻辑单元,作为取模的控制信号;乘数数据寄存器,把从外部存储器输入的乘数数据保存下来供内部运算使用,输出数据到加法数据发生器;取模逻辑单元,接受第一移位寄存器组和第二移位寄存器组的输入,将取模时的信号通过逻辑变换等效成移位加法的输入信号,并输出到第一选择器;第一选择器,接受第二移位寄存器或者取模逻辑单元的输入信号,选择其中一个输出到加法数据发生器中;加法数据发生器,在第一选择器输入信号的控制下,选择让乘数数据寄存器的数据通过或者关闭;加法器,将第一移位寄存器与加法数据发生器的数据相加产生和进位;第二选择器,从第一移位寄存器组和第二移位寄存器组的数据输入中选择一个作为输出到外部存储器的数据。
采用了上述的技术解决方案,本发明不仅为IC卡提供了有力的数据加密能力,满足安全性的需求,而且在很小面积的芯片上就可以实现整个RSA加密算法,同时可以通过软件的编程去面向不同的用户需求。因此,本发明在提高系统保密能力的同时,减小了芯片面积,加强了应用的灵活性,降低了用户成本。


图1是本发明协处理器的功能框图;图2是本发明协处理器中的数据处理单元的功能框图。
具体实施例方式
如图1所示,本发明所提供的一种实现IC卡RSA加密算法的协处理器,它包括微处理器主控制模块1、数据处理控制模块2、存储器3和数据处理单元4,其中微处理器主控制模块1,其与存储器3和数据处理控制模块2分别相连,控制存储器3的初始化和控制数据处理控制模块2对数据处理单元4的间接控制,该模块可以采用常见的嵌入式8051控制器来实现;数据处理控制模块2,其与微处理器主控制模块1、数据处理单元4和存储器3分别相连,直接控制数据处理单元4工作,同时控制存储器3,并与微处理器主控制模块1进行通信,该模块采用微程序实现方式,通过简单的编程,控制数据处理单元4循环的次数,实现了应用的灵活性;存储器3,其与微处理器主控制模块1、数据处理控制模块2和数据处理单元4分别相连,从微处理器主控制模块1读取并存储取用户的各种设置和初始化信息,接收数据处理控制模块2的控制信号,保存数据处理单元4运算结果;数据处理单元4,其与数据处理控制模块2和存储器3分别相连,在数据处理控制模块2的控制下,对存储器3中的输入数据进行处理,完成整个加密运算,并将处理后的结果保存到存储器3中去。
如图2所示,上述的数据处理单元4包括第一移位寄存器组41、第二移位寄存器组42、加法器47、第一选择器45、第二选择器48、取模逻辑单元44、乘数数据寄存器43和加法数据发生器46,其中第一移位寄存器组41,接收加法器47或者外部存储器3的输入数据,和加法器47一起完成移位累加功能,并将结果通过第二选择器48输出到外部存储器3中和取模逻辑单元44;
第二移位寄存器组42,接受外部存储器3和第一移位寄存器组41的数据输入,对数据进行移位操作,并将输出数据通过第二选择器48输出到存储器3中和取模逻辑单元44,作为取模的控制信号;乘数数据寄存器43,把从外部存储器3输入的乘数数据保存下来供内部运算使用,输出数据到加法数据发生器46。
取模逻辑单元44,接受第一移位寄存器组41和第二移位寄存器组42的输入,将取模时的信号通过逻辑变换等效成移位加法的输入信号,并输出到第一选择器45;第一选择器45,接受第二移位寄存器42或者取模逻辑单元44的输入信号,选择其中一个输出到加法数据发生器46中;加法数据发生器46,在第一选择器45输入信号的控制下,选择让乘数数据寄存器43的数据通过或者关闭;加法器47,将第一移位寄存器41与加法数据发生器46的数据相加产生和进位;第二选择器48,从第一移位寄存器组41和第二移位寄存器组42的数据输入中选择一个作为输出到外部存储器3的数据。
从以上系统结构看,本发明处理器在设计理念上具有一定的创新性。本发明最大的特点在于使用移位加法器的结构实现了蒙哥马利运算所需的长乘法和取模运算,这样相对于以前的基于乘法器的结构,具有相对较小的面积;同时将算法实现分成数据处理单元4和数据处理控制模块2,并且数据处理控制模块2采用微程序的设计方法,可以通过简单的编程对数据处理单元进行循环,扩展加密运算的位数,使得整个系统具有很强的灵活性。这些都意味着较低的生产成本和强大的市场竞争能力。
权利要求
1.一种实现IC卡RSA加密算法的协处理器,其特征在于它包括微处理器主控制模块(1)、数据处理控制模块(2)、存储器(3)和数据处理单元(4),其中微处理器主控制模块(1),其与存储器(3)和数据处理控制模块(2)分别相连,控制存储器(3)的初始化和控制数据处理控制模块(2)对数据处理单元(4)的间接控制;数据处理控制模块(2),其与微处理器主控制模块(1)、数据处理单元(4)和存储器(3)分别相连,直接控制数据处理单元(4)工作,同时控制存储器(3),并与微处理器主控制模块(1)进行通信;存储器(3),其与微处理器主控制模块(1)、数据处理控制模块(2)和数据处理单元(4)分别相连,从微处理器主控制模块(1)读取并存储取用户的各种设置和初始化信息,接收数据处理控制模块(2)的控制信号,保存数据处理单元(4)运算结果;数据处理单元(4),其与数据处理控制模块(2)和存储器(3)分别相连,在数据处理控制模块(2)的控制下,对存储器(3)中的输入数据进行处理,完成整个加密运算,并将处理后的结果保存到存储器(3)中去。
2.根据权利要求1所述的一种实现IC卡RSA加密算法的协处理器,其特征在于所述的数据处理单元(4)包括第一移位寄存器组(41)、第二移位寄存器组(42)、加法器(47)、第一选择器(45)、第二选择器(48)、取模逻辑单元(44)、乘数数据寄存器(43)和加法数据发生器(46),第一移位寄存器组(41),接收加法器(47)或者外部存储器(3)的输入数据,和加法器(47)一起完成移位累加功能,并将结果通过第二选择器(48)输出到外部存储器(3)中和取模逻辑单元(44);第二移位寄存器组(42),接受外部存储器(3)和第一移位寄存器组(41)的数据输入,对数据进行移位操作,并将输出数据通过第二选择器(48)输出到存储器(3)中和取模逻辑单元(44),作为取模的控制信号;乘数数据寄存器(43),把从外部存储器(3)输入的乘数数据保存下来供内部运算使用,输出数据到加法数据发生器(46);取模逻辑单元(44),接受第一移位寄存器组(41)和第二移位寄存器组(42)的输入,将取模时的信号通过逻辑变换等效成移位加法的输入信号,并输出到第一选择器(45);第一选择器(45),接受第二移位寄存器(42)或者取模逻辑单元(44)的输入信号,选择其中一个输出到加法数据发生器(46)中;加法数据发生器(46),在第一选择器(45)输入信号的控制下,选择让乘数数据寄存器(43)的数据通过或者关闭;加法器(47),将第一移位寄存器(41)与加法数据发生器(46)的数据相加产生和进位;第二选择器(48),从第一移位寄存器组(41)和第二移位寄存器组(42)的数据输入中选择一个作为输出到外部存储器(3)的数据。
全文摘要
一种实现IC卡RSA加密算法的协处理器,包括微处理器主控制模块,控制存储器的初始化和控制数据处理控制模块对数据处理单元的间接控制;数据处理控制模块,直接控制数据处理单元工作,同时控制存储器,并与微处理器主控制模块进行通信;存储器,从微处理器主控制模块读取并存储取用户的各种设置和初始化信息,接收数据处理控制模块的控制信号,保存数据处理单元运算结果;数据处理单元,在数据处理控制模块的控制下,对存储器中的输入数据进行处理,完成整个加密运算,并将处理后的结果保存到存储器中去。本发明在提高系统保密能力的同时,减小了芯片面积,加强了应用的灵活性,降低了用户成本。
文档编号G06F9/22GK1512322SQ02160499
公开日2004年7月14日 申请日期2002年12月27日 优先权日2002年12月27日
发明者朱柯嘉 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1