经历2008年牛奶之觞后,“问题奶粉”“主食转基因““海南毒豇豆”“双汇瘦肉精”等的出现再次为人们敲响了警钟。为此,我国各省(市、区)也相继开发自己的农产品质量安全追溯系统,但这些农产品追溯码编码方式来看,加密性不强、长度较长、追溯信息对公众不透明等问题依然存在。针对上述问题,考虑到同一行政区划内企业名称不能重复注册,我们采用行政区划码与企业名称相结合的方式设计产地码,其中企业名称由区位码表示。采用进制转换、划分区段等编码算法对追溯码进行多重加密和码长压缩,保证编码信息完整的同时将34位编码压缩为20位。

一、追溯码的设计

本研究原始追溯码由产地码、产品码、生产日期码、认证类型码等34位数组成,如表1所示。

农产品追溯码加密算法
1、产地码

产地码为22位数字,其中位置码6位( 01......06),根据行政区划代码规则来设计,用于定位企业所在行政注册区域;企业码16位(07......022),根据企业命名规则,由字号的关键字
表示企业,这里取字号中4个关键字进行区位码编码,一个汉字唯一对应4位区位码(即共16位,不足的右边补。)。对指定行政注册区域内的企业字号进行搜索,能够定位到该生产企业。如北京锦绣大地××有限公司在北京市工商行政管理局朝阳分局登记注册,北京市朝阳区的行政区划码为110105,则该公司农产品追溯码中位置码为110105,字号关键字“锦绣大地”所对应的区位码分别是:“锦”2985、“绣”4869、¨大”2083、“地”2156.因此16位企业码为2985486920832156。

2、产品码

产品码为5位数字,其中大类别1位(P1),按照传统和习惯一般把农产品分为7类,采用l位表示大类别仍有扩展备用,如表2;种类2位( P2 P3),表示每大类下的种类,采用自增流水号编码.2位数能表示99种编码组合,即使随着生物技术发展致使种类增加也足以用于扩展备用;品种2位( P4PS),表示每种类中的品种名称,采用自增流水号编码,足够扩展备用。

农产品追溯码加密算法

3、生产日期码

生产日期码为6位数字( YY/MM/DD),即年/月/日。其中每部分编码范围:YY为11~50,表示2011~2050年;MM为01~12,表示1~12月;DD为01~31,表示1~31日。

4、认证类型码

认证类型是衡量农产品质量安全的一项重要指标,用1位1~4的数字(C)分别表示绿色认证、有机认证、无公害认证及其他认证。

二、农产品追溯码加密算法的设计

为了确保追溯码的安全性,同时考虑到编码长度,需要利用加密算法对部分编码文件进行加密和压缩,最后以整体编码特点进一步生成用于防伪的多重校验码。

1、产地码加密算法的设计

产地码为22位,为了加密和缩短码长,对其按如下加密算法进行转换:

(1)十进制转换成四进制

四进制逢4进1,采用0~3这4个数码,四进制与十进制的对应关系如表3。由表3可知2位四进制数足以表示十迸制的0~9,这里我们只转换前21位,那么22位产地码转换后为21×2+1=43位。

农产品追溯码加密算法

(2)划分区段

将转换过的前42位产地码分为3组,每组14位,对每组分别进行进一步的编码换算。就每14位来说,按7项处理(每项2位,仍看成十进制关系),用A—G标识;根据表3给出的四进制编码规则,以每组14位为单位按A~G的范围划分区段,如表4所示。

农产品追溯码加密算法

(3)确定项与项之间的换算关系

类似“时”“分”‘‘秒”的倍数关系,如“时”“分”对应于“秒”的倍数分别为3600、60,这里假定A—F对于G的倍数分别为13、11、9、7、5、3。

(4)确定区段

划分好区段之后,对每组进行进一步编码换算前要先确定该组属于哪个区段。参考表4的原则,如果编码区段为1,则A减去00;如果编码区段为2,则A减去10;如果编码区段为3,则A减去20。

(5)编码换算

区段确定后,将14位编码按各项的倍数换算成以C表示的数值,即每组相对区段码(3位,不足3位左边补。)加上1位区段标志码,则14位编码缩短为4位,3组即为12位,加上原产地码第22位,转换后的产地码为13位。

(6)产地码校验码的生成

转换后的13位编码中有3位区段标识码,均为1一3的数字;取前2组的区段标识码组成1位校验码,这样既缩短了码长又利于加密,方法是:将前2组区段标识码进行排列组合,共有9种,如表5;编码时根据前2组区段标识码找到对应的1位校验码,放在第3组编码之前口第3组1位区段标识码留作最后生成整体校验码用。最终转换后的产地码为12位。

农产品追溯码加密算法

2、生产日期码加密算法的设计

生产日期码仍采用相对区段码和区段标识码相结合的方法给出,具体区段划分如表6。

农产品追溯码加密算法

类似于产地码的转换算法,生产日期码不再采用“年”“月”“日”之间的倍数关系而假定“年”“月”对于“日”的倍数分别为5、3,则转换后相对区段码为2位(不足2位左边补0)。确定区段时参考表6的原则,如果编码区段为1,则“年”减去2011;如果编码区段为2,则“年”减去2017;以此类推。如2011年4月18日,按年份确定为1区段,换算后相对区段码为(2011-2011)×5 +04×3 +18 =30,则转换后的生产日期码为30(1)。根据以上算法,6位生产日期码转换后为3位。

3、校验码生成算法的设计

产地码第3组的1位标识码为1~3的数字;生产日期码1位标识码为1~7的数字;认证类型码为1~4的数字,此3位的84种排列组合如表7所示。在编码时根据该3位的组合找到对应的2位校验码,既对追溯码整体加密又缩短了码长。

本研究采用多重加密算法:通过进制转换和划分区段的编码算法分别将22位产地码转换为12位、将6位生产日期码转换为3位,既起到了加密作用又缩短了码长;然后由产地码1位标识码、生产日期码l位标识码和认证类型码进行排列组合生成2位总体校验码,进一步对追溯码文件加密和压缩。

小知识之绿色食品认证

为规范绿色食品认证工作,依据《绿色食品标志管理办法》,制定本程序。凡具有绿色食品生产条件的国内企业均可按本程序申请绿色食品认证。