⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aes-ppc.pl

📁 OpenSSL 0.9.8k 最新版OpenSSL
💻 PL
📖 第 1 页 / 共 3 页
字号:
	xor	$t0,$t0,$acc04	xor	$t1,$t1,$acc05	xor	$t2,$t2,$acc06	xor	$t3,$t3,$acc07	xor	$t0,$t0,$acc08	xor	$t1,$t1,$acc09	xor	$t2,$t2,$acc10	xor	$t3,$t3,$acc11	xor	$s0,$t0,$acc12	xor	$s1,$t1,$acc13	xor	$s2,$t2,$acc14	xor	$s3,$t3,$acc15	addi	$key,$key,16	bdnz-	Ldec_loop	addi	$Tbl2,$Tbl0,2048	nop	lwz	$acc08,`2048+0`($Tbl0)	! prefetch Td4	lwz	$acc09,`2048+32`($Tbl0)	lwz	$acc10,`2048+64`($Tbl0)	lwz	$acc11,`2048+96`($Tbl0)	lwz	$acc08,`2048+128`($Tbl0)	lwz	$acc09,`2048+160`($Tbl0)	lwz	$acc10,`2048+192`($Tbl0)	lwz	$acc11,`2048+224`($Tbl0)	rlwinm	$acc00,$s0,`32-24`,24,31	rlwinm	$acc01,$s1,`32-24`,24,31	lwz	$t0,0($key)	lwz	$t1,4($key)	rlwinm	$acc02,$s2,`32-24`,24,31	rlwinm	$acc03,$s3,`32-24`,24,31	lwz	$t2,8($key)	lwz	$t3,12($key)	rlwinm	$acc04,$s3,`32-16`,24,31	rlwinm	$acc05,$s0,`32-16`,24,31	lbzx	$acc00,$Tbl2,$acc00	lbzx	$acc01,$Tbl2,$acc01	rlwinm	$acc06,$s1,`32-16`,24,31	rlwinm	$acc07,$s2,`32-16`,24,31	lbzx	$acc02,$Tbl2,$acc02	lbzx	$acc03,$Tbl2,$acc03	rlwinm	$acc08,$s2,`32-8`,24,31	rlwinm	$acc09,$s3,`32-8`,24,31	lbzx	$acc04,$Tbl2,$acc04	lbzx	$acc05,$Tbl2,$acc05	rlwinm	$acc10,$s0,`32-8`,24,31	rlwinm	$acc11,$s1,`32-8`,24,31	lbzx	$acc06,$Tbl2,$acc06	lbzx	$acc07,$Tbl2,$acc07	rlwinm	$acc12,$s1,`0`,24,31	rlwinm	$acc13,$s2,`0`,24,31	lbzx	$acc08,$Tbl2,$acc08	lbzx	$acc09,$Tbl2,$acc09	rlwinm	$acc14,$s3,`0`,24,31	rlwinm	$acc15,$s0,`0`,24,31	lbzx	$acc10,$Tbl2,$acc10	lbzx	$acc11,$Tbl2,$acc11	rlwinm	$s0,$acc00,24,0,7	rlwinm	$s1,$acc01,24,0,7	lbzx	$acc12,$Tbl2,$acc12	lbzx	$acc13,$Tbl2,$acc13	rlwinm	$s2,$acc02,24,0,7	rlwinm	$s3,$acc03,24,0,7	lbzx	$acc14,$Tbl2,$acc14	lbzx	$acc15,$Tbl2,$acc15	rlwimi	$s0,$acc04,16,8,15	rlwimi	$s1,$acc05,16,8,15	rlwimi	$s2,$acc06,16,8,15	rlwimi	$s3,$acc07,16,8,15	rlwimi	$s0,$acc08,8,16,23	rlwimi	$s1,$acc09,8,16,23	rlwimi	$s2,$acc10,8,16,23	rlwimi	$s3,$acc11,8,16,23	or	$s0,$s0,$acc12	or	$s1,$s1,$acc13	or	$s2,$s2,$acc14	or	$s3,$s3,$acc15	xor	$s0,$s0,$t0	xor	$s1,$s1,$t1	xor	$s2,$s2,$t2	xor	$s3,$s3,$t3	blr.align	4Lppc_AES_decrypt_compact:	lwz	$acc00,240($key)	lwz	$t0,0($key)	lwz	$t1,4($key)	lwz	$t2,8($key)	lwz	$t3,12($key)	addi	$Tbl1,$Tbl0,2048	lis	$mask80,0x8080	lis	$mask1b,0x1b1b	addi	$key,$key,16	ori	$mask80,$mask80,0x8080	ori	$mask1b,$mask1b,0x1b1b___$code.=<<___ if ($SIZE_T==8);	insrdi	$mask80,$mask80,32,0	insrdi	$mask1b,$mask1b,32,0___$code.=<<___;	mtctr	$acc00.align	4Ldec_compact_loop:	xor	$s0,$s0,$t0	xor	$s1,$s1,$t1	xor	$s2,$s2,$t2	xor	$s3,$s3,$t3	rlwinm	$acc00,$s0,`32-24`,24,31	rlwinm	$acc01,$s1,`32-24`,24,31	rlwinm	$acc02,$s2,`32-24`,24,31	rlwinm	$acc03,$s3,`32-24`,24,31	lbzx	$acc00,$Tbl1,$acc00	lbzx	$acc01,$Tbl1,$acc01	rlwinm	$acc04,$s3,`32-16`,24,31	rlwinm	$acc05,$s0,`32-16`,24,31	lbzx	$acc02,$Tbl1,$acc02	lbzx	$acc03,$Tbl1,$acc03	rlwinm	$acc06,$s1,`32-16`,24,31	rlwinm	$acc07,$s2,`32-16`,24,31	lbzx	$acc04,$Tbl1,$acc04	lbzx	$acc05,$Tbl1,$acc05	rlwinm	$acc08,$s2,`32-8`,24,31	rlwinm	$acc09,$s3,`32-8`,24,31	lbzx	$acc06,$Tbl1,$acc06	lbzx	$acc07,$Tbl1,$acc07	rlwinm	$acc10,$s0,`32-8`,24,31	rlwinm	$acc11,$s1,`32-8`,24,31	lbzx	$acc08,$Tbl1,$acc08	lbzx	$acc09,$Tbl1,$acc09	rlwinm	$acc12,$s1,`0`,24,31	rlwinm	$acc13,$s2,`0`,24,31	lbzx	$acc10,$Tbl1,$acc10	lbzx	$acc11,$Tbl1,$acc11	rlwinm	$acc14,$s3,`0`,24,31	rlwinm	$acc15,$s0,`0`,24,31	lbzx	$acc12,$Tbl1,$acc12	lbzx	$acc13,$Tbl1,$acc13	rlwinm	$s0,$acc00,24,0,7	rlwinm	$s1,$acc01,24,0,7	lbzx	$acc14,$Tbl1,$acc14	lbzx	$acc15,$Tbl1,$acc15	rlwinm	$s2,$acc02,24,0,7	rlwinm	$s3,$acc03,24,0,7	rlwimi	$s0,$acc04,16,8,15	rlwimi	$s1,$acc05,16,8,15	rlwimi	$s2,$acc06,16,8,15	rlwimi	$s3,$acc07,16,8,15	rlwimi	$s0,$acc08,8,16,23	rlwimi	$s1,$acc09,8,16,23	rlwimi	$s2,$acc10,8,16,23	rlwimi	$s3,$acc11,8,16,23	lwz	$t0,0($key)	lwz	$t1,4($key)	or	$s0,$s0,$acc12	or	$s1,$s1,$acc13	lwz	$t2,8($key)	lwz	$t3,12($key)	or	$s2,$s2,$acc14	or	$s3,$s3,$acc15	addi	$key,$key,16	bdz	Ldec_compact_done___$code.=<<___ if ($SIZE_T==8);	# vectorized permutation improves decrypt performance by 10%	insrdi	$s0,$s1,32,0	insrdi	$s2,$s3,32,0	and	$acc00,$s0,$mask80	# r1=r0&0x80808080	and	$acc02,$s2,$mask80	srdi	$acc04,$acc00,7		# r1>>7	srdi	$acc06,$acc02,7	andc	$acc08,$s0,$mask80	# r0&0x7f7f7f7f	andc	$acc10,$s2,$mask80	sub	$acc00,$acc00,$acc04	# r1-(r1>>7)	sub	$acc02,$acc02,$acc06	add	$acc08,$acc08,$acc08	# (r0&0x7f7f7f7f)<<1	add	$acc10,$acc10,$acc10	and	$acc00,$acc00,$mask1b	# (r1-(r1>>7))&0x1b1b1b1b	and	$acc02,$acc02,$mask1b	xor	$acc00,$acc00,$acc08	# r2	xor	$acc02,$acc02,$acc10	and	$acc04,$acc00,$mask80	# r1=r2&0x80808080	and	$acc06,$acc02,$mask80	srdi	$acc08,$acc04,7		# r1>>7	srdi	$acc10,$acc06,7	andc	$acc12,$acc00,$mask80	# r2&0x7f7f7f7f	andc	$acc14,$acc02,$mask80	sub	$acc04,$acc04,$acc08	# r1-(r1>>7)	sub	$acc06,$acc06,$acc10	add	$acc12,$acc12,$acc12	# (r2&0x7f7f7f7f)<<1	add	$acc14,$acc14,$acc14	and	$acc04,$acc04,$mask1b	# (r1-(r1>>7))&0x1b1b1b1b	and	$acc06,$acc06,$mask1b	xor	$acc04,$acc04,$acc12	# r4	xor	$acc06,$acc06,$acc14	and	$acc08,$acc04,$mask80	# r1=r4&0x80808080	and	$acc10,$acc06,$mask80	srdi	$acc12,$acc08,7		# r1>>7	srdi	$acc14,$acc10,7	sub	$acc08,$acc08,$acc12	# r1-(r1>>7)	sub	$acc10,$acc10,$acc14	andc	$acc12,$acc04,$mask80	# r4&0x7f7f7f7f	andc	$acc14,$acc06,$mask80	add	$acc12,$acc12,$acc12	# (r4&0x7f7f7f7f)<<1	add	$acc14,$acc14,$acc14	and	$acc08,$acc08,$mask1b	# (r1-(r1>>7))&0x1b1b1b1b	and	$acc10,$acc10,$mask1b	xor	$acc08,$acc08,$acc12	# r8	xor	$acc10,$acc10,$acc14	xor	$acc00,$acc00,$s0	# r2^r0	xor	$acc02,$acc02,$s2	xor	$acc04,$acc04,$s0	# r4^r0	xor	$acc06,$acc06,$s2	extrdi	$acc01,$acc00,32,0	extrdi	$acc03,$acc02,32,0	extrdi	$acc05,$acc04,32,0	extrdi	$acc07,$acc06,32,0	extrdi	$acc09,$acc08,32,0	extrdi	$acc11,$acc10,32,0___$code.=<<___ if ($SIZE_T==4);	and	$acc00,$s0,$mask80	# r1=r0&0x80808080	and	$acc01,$s1,$mask80	and	$acc02,$s2,$mask80	and	$acc03,$s3,$mask80	srwi	$acc04,$acc00,7		# r1>>7	srwi	$acc05,$acc01,7	srwi	$acc06,$acc02,7	srwi	$acc07,$acc03,7	andc	$acc08,$s0,$mask80	# r0&0x7f7f7f7f	andc	$acc09,$s1,$mask80	andc	$acc10,$s2,$mask80	andc	$acc11,$s3,$mask80	sub	$acc00,$acc00,$acc04	# r1-(r1>>7)	sub	$acc01,$acc01,$acc05	sub	$acc02,$acc02,$acc06	sub	$acc03,$acc03,$acc07	add	$acc08,$acc08,$acc08	# (r0&0x7f7f7f7f)<<1	add	$acc09,$acc09,$acc09	add	$acc10,$acc10,$acc10	add	$acc11,$acc11,$acc11	and	$acc00,$acc00,$mask1b	# (r1-(r1>>7))&0x1b1b1b1b	and	$acc01,$acc01,$mask1b	and	$acc02,$acc02,$mask1b	and	$acc03,$acc03,$mask1b	xor	$acc00,$acc00,$acc08	# r2	xor	$acc01,$acc01,$acc09	xor	$acc02,$acc02,$acc10	xor	$acc03,$acc03,$acc11	and	$acc04,$acc00,$mask80	# r1=r2&0x80808080	and	$acc05,$acc01,$mask80	and	$acc06,$acc02,$mask80	and	$acc07,$acc03,$mask80	srwi	$acc08,$acc04,7		# r1>>7	srwi	$acc09,$acc05,7	srwi	$acc10,$acc06,7	srwi	$acc11,$acc07,7	andc	$acc12,$acc00,$mask80	# r2&0x7f7f7f7f	andc	$acc13,$acc01,$mask80	andc	$acc14,$acc02,$mask80	andc	$acc15,$acc03,$mask80	sub	$acc04,$acc04,$acc08	# r1-(r1>>7)	sub	$acc05,$acc05,$acc09	sub	$acc06,$acc06,$acc10	sub	$acc07,$acc07,$acc11	add	$acc12,$acc12,$acc12	# (r2&0x7f7f7f7f)<<1	add	$acc13,$acc13,$acc13	add	$acc14,$acc14,$acc14	add	$acc15,$acc15,$acc15	and	$acc04,$acc04,$mask1b	# (r1-(r1>>7))&0x1b1b1b1b	and	$acc05,$acc05,$mask1b	and	$acc06,$acc06,$mask1b	and	$acc07,$acc07,$mask1b	xor	$acc04,$acc04,$acc12	# r4	xor	$acc05,$acc05,$acc13	xor	$acc06,$acc06,$acc14	xor	$acc07,$acc07,$acc15	and	$acc08,$acc04,$mask80	# r1=r4&0x80808080	and	$acc09,$acc05,$mask80	and	$acc10,$acc06,$mask80	and	$acc11,$acc07,$mask80	srwi	$acc12,$acc08,7		# r1>>7	srwi	$acc13,$acc09,7	srwi	$acc14,$acc10,7	srwi	$acc15,$acc11,7	sub	$acc08,$acc08,$acc12	# r1-(r1>>7)	sub	$acc09,$acc09,$acc13	sub	$acc10,$acc10,$acc14	sub	$acc11,$acc11,$acc15	andc	$acc12,$acc04,$mask80	# r4&0x7f7f7f7f	andc	$acc13,$acc05,$mask80	andc	$acc14,$acc06,$mask80	andc	$acc15,$acc07,$mask80	add	$acc12,$acc12,$acc12	# (r4&0x7f7f7f7f)<<1	add	$acc13,$acc13,$acc13	add	$acc14,$acc14,$acc14	add	$acc15,$acc15,$acc15	and	$acc08,$acc08,$mask1b	# (r1-(r1>>7))&0x1b1b1b1b	and	$acc09,$acc09,$mask1b	and	$acc10,$acc10,$mask1b	and	$acc11,$acc11,$mask1b	xor	$acc08,$acc08,$acc12	# r8	xor	$acc09,$acc09,$acc13	xor	$acc10,$acc10,$acc14	xor	$acc11,$acc11,$acc15	xor	$acc00,$acc00,$s0	# r2^r0	xor	$acc01,$acc01,$s1	xor	$acc02,$acc02,$s2	xor	$acc03,$acc03,$s3	xor	$acc04,$acc04,$s0	# r4^r0	xor	$acc05,$acc05,$s1	xor	$acc06,$acc06,$s2	xor	$acc07,$acc07,$s3___$code.=<<___;	rotrwi	$s0,$s0,8		# = ROTATE(r0,8)	rotrwi	$s1,$s1,8	rotrwi	$s2,$s2,8	rotrwi	$s3,$s3,8	xor	$s0,$s0,$acc00		# ^= r2^r0	xor	$s1,$s1,$acc01	xor	$s2,$s2,$acc02	xor	$s3,$s3,$acc03	xor	$acc00,$acc00,$acc08	xor	$acc01,$acc01,$acc09	xor	$acc02,$acc02,$acc10	xor	$acc03,$acc03,$acc11	xor	$s0,$s0,$acc04		# ^= r4^r0	xor	$s1,$s1,$acc05	xor	$s2,$s2,$acc06	xor	$s3,$s3,$acc07	rotrwi	$acc00,$acc00,24	rotrwi	$acc01,$acc01,24	rotrwi	$acc02,$acc02,24	rotrwi	$acc03,$acc03,24	xor	$acc04,$acc04,$acc08	xor	$acc05,$acc05,$acc09	xor	$acc06,$acc06,$acc10	xor	$acc07,$acc07,$acc11	xor	$s0,$s0,$acc08		# ^= r8 [^((r4^r0)^(r2^r0)=r4^r2)]	xor	$s1,$s1,$acc09	xor	$s2,$s2,$acc10	xor	$s3,$s3,$acc11	rotrwi	$acc04,$acc04,16	rotrwi	$acc05,$acc05,16	rotrwi	$acc06,$acc06,16	rotrwi	$acc07,$acc07,16	xor	$s0,$s0,$acc00		# ^= ROTATE(r8^r2^r0,24)	xor	$s1,$s1,$acc01	xor	$s2,$s2,$acc02	xor	$s3,$s3,$acc03	rotrwi	$acc08,$acc08,8	rotrwi	$acc09,$acc09,8	rotrwi	$acc10,$acc10,8	rotrwi	$acc11,$acc11,8	xor	$s0,$s0,$acc04		# ^= ROTATE(r8^r4^r0,16)	xor	$s1,$s1,$acc05	xor	$s2,$s2,$acc06	xor	$s3,$s3,$acc07	xor	$s0,$s0,$acc08		# ^= ROTATE(r8,8)		xor	$s1,$s1,$acc09		xor	$s2,$s2,$acc10		xor	$s3,$s3,$acc11		b	Ldec_compact_loop.align	4Ldec_compact_done:	xor	$s0,$s0,$t0	xor	$s1,$s1,$t1	xor	$s2,$s2,$t2	xor	$s3,$s3,$t3	blr.long	0.asciz	"AES for PPC, CRYPTOGAMS by <appro\@openssl.org>".align	7___$code =~ s/\`([^\`]*)\`/eval $1/gem;print $code;close STDOUT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -