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

📄 aes-ppc.pl

📁 OpenSSL 0.9.8k 最新版OpenSSL
💻 PL
📖 第 1 页 / 共 3 页
字号:
	xor	$s3,$s3,$t3	mtctr	$acc00.align	4Lenc_loop:	rlwinm	$acc00,$s0,`32-24+3`,21,28	rlwinm	$acc01,$s1,`32-24+3`,21,28	lwz	$t0,0($key)	lwz	$t1,4($key)	rlwinm	$acc02,$s2,`32-24+3`,21,28	rlwinm	$acc03,$s3,`32-24+3`,21,28	lwz	$t2,8($key)	lwz	$t3,12($key)	rlwinm	$acc04,$s1,`32-16+3`,21,28	rlwinm	$acc05,$s2,`32-16+3`,21,28	lwzx	$acc00,$Tbl0,$acc00	lwzx	$acc01,$Tbl0,$acc01	rlwinm	$acc06,$s3,`32-16+3`,21,28	rlwinm	$acc07,$s0,`32-16+3`,21,28	lwzx	$acc02,$Tbl0,$acc02	lwzx	$acc03,$Tbl0,$acc03	rlwinm	$acc08,$s2,`32-8+3`,21,28	rlwinm	$acc09,$s3,`32-8+3`,21,28	lwzx	$acc04,$Tbl1,$acc04	lwzx	$acc05,$Tbl1,$acc05	rlwinm	$acc10,$s0,`32-8+3`,21,28	rlwinm	$acc11,$s1,`32-8+3`,21,28	lwzx	$acc06,$Tbl1,$acc06	lwzx	$acc07,$Tbl1,$acc07	rlwinm	$acc12,$s3,`0+3`,21,28	rlwinm	$acc13,$s0,`0+3`,21,28	lwzx	$acc08,$Tbl2,$acc08	lwzx	$acc09,$Tbl2,$acc09	rlwinm	$acc14,$s1,`0+3`,21,28	rlwinm	$acc15,$s2,`0+3`,21,28	lwzx	$acc10,$Tbl2,$acc10	lwzx	$acc11,$Tbl2,$acc11	xor	$t0,$t0,$acc00	xor	$t1,$t1,$acc01	lwzx	$acc12,$Tbl3,$acc12	lwzx	$acc13,$Tbl3,$acc13	xor	$t2,$t2,$acc02	xor	$t3,$t3,$acc03	lwzx	$acc14,$Tbl3,$acc14	lwzx	$acc15,$Tbl3,$acc15	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-	Lenc_loop	addi	$Tbl2,$Tbl0,2048	nop	lwz	$acc08,`2048+0`($Tbl0)	! prefetch Te4	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,$s1,`32-16`,24,31	rlwinm	$acc05,$s2,`32-16`,24,31	lbzx	$acc00,$Tbl2,$acc00	lbzx	$acc01,$Tbl2,$acc01	rlwinm	$acc06,$s3,`32-16`,24,31	rlwinm	$acc07,$s0,`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,$s3,`0`,24,31	rlwinm	$acc13,$s0,`0`,24,31	lbzx	$acc08,$Tbl2,$acc08	lbzx	$acc09,$Tbl2,$acc09	rlwinm	$acc14,$s1,`0`,24,31	rlwinm	$acc15,$s2,`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_encrypt_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	mtctr	$acc00.align	4Lenc_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,$s1,`32-16`,24,31	rlwinm	$acc05,$s2,`32-16`,24,31	lbzx	$acc02,$Tbl1,$acc02	lbzx	$acc03,$Tbl1,$acc03	rlwinm	$acc06,$s3,`32-16`,24,31	rlwinm	$acc07,$s0,`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,$s3,`0`,24,31	rlwinm	$acc13,$s0,`0`,24,31	lbzx	$acc10,$Tbl1,$acc10	lbzx	$acc11,$Tbl1,$acc11	rlwinm	$acc14,$s1,`0`,24,31	rlwinm	$acc15,$s2,`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	Lenc_compact_done	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	rotlwi	$acc12,$s0,16		# ROTATE(r0,16)	rotlwi	$acc13,$s1,16	rotlwi	$acc14,$s2,16	rotlwi	$acc15,$s3,16	xor	$s0,$s0,$acc00		# r0^r2	xor	$s1,$s1,$acc01	xor	$s2,$s2,$acc02	xor	$s3,$s3,$acc03	rotrwi	$s0,$s0,24		# ROTATE(r2^r0,24)	rotrwi	$s1,$s1,24	rotrwi	$s2,$s2,24	rotrwi	$s3,$s3,24	xor	$s0,$s0,$acc00		# ROTATE(r2^r0,24)^r2	xor	$s1,$s1,$acc01	xor	$s2,$s2,$acc02	xor	$s3,$s3,$acc03	rotlwi	$acc08,$acc12,8		# ROTATE(r0,24)	rotlwi	$acc09,$acc13,8	rotlwi	$acc10,$acc14,8	rotlwi	$acc11,$acc15,8	xor	$s0,$s0,$acc12		#	xor	$s1,$s1,$acc13	xor	$s2,$s2,$acc14	xor	$s3,$s3,$acc15	xor	$s0,$s0,$acc08		#	xor	$s1,$s1,$acc09	xor	$s2,$s2,$acc10	xor	$s3,$s3,$acc11	b	Lenc_compact_loop.align	4Lenc_compact_done:	xor	$s0,$s0,$t0	xor	$s1,$s1,$t1	xor	$s2,$s2,$t2	xor	$s3,$s3,$t3	blr.globl	.AES_decrypt.align	7.AES_decrypt:	mflr	r0	$STU	$sp,-$FRAME($sp)	$PUSH	r0,`$FRAME-$SIZE_T*21`($sp)	$PUSH	$toc,`$FRAME-$SIZE_T*20`($sp)	$PUSH	r13,`$FRAME-$SIZE_T*19`($sp)	$PUSH	r14,`$FRAME-$SIZE_T*18`($sp)	$PUSH	r15,`$FRAME-$SIZE_T*17`($sp)	$PUSH	r16,`$FRAME-$SIZE_T*16`($sp)	$PUSH	r17,`$FRAME-$SIZE_T*15`($sp)	$PUSH	r18,`$FRAME-$SIZE_T*14`($sp)	$PUSH	r19,`$FRAME-$SIZE_T*13`($sp)	$PUSH	r20,`$FRAME-$SIZE_T*12`($sp)	$PUSH	r21,`$FRAME-$SIZE_T*11`($sp)	$PUSH	r22,`$FRAME-$SIZE_T*10`($sp)	$PUSH	r23,`$FRAME-$SIZE_T*9`($sp)	$PUSH	r24,`$FRAME-$SIZE_T*8`($sp)	$PUSH	r25,`$FRAME-$SIZE_T*7`($sp)	$PUSH	r26,`$FRAME-$SIZE_T*6`($sp)	$PUSH	r27,`$FRAME-$SIZE_T*5`($sp)	$PUSH	r28,`$FRAME-$SIZE_T*4`($sp)	$PUSH	r29,`$FRAME-$SIZE_T*3`($sp)	$PUSH	r30,`$FRAME-$SIZE_T*2`($sp)	$PUSH	r31,`$FRAME-$SIZE_T*1`($sp)	lwz	$s0,0($inp)	lwz	$s1,4($inp)	lwz	$s2,8($inp)	lwz	$s3,12($inp)	bl	LAES_Td	bl	Lppc_AES_decrypt_compact	stw	$s0,0($out)	stw	$s1,4($out)	stw	$s2,8($out)	stw	$s3,12($out)	$POP	r0,`$FRAME-$SIZE_T*21`($sp)	$POP	$toc,`$FRAME-$SIZE_T*20`($sp)	$POP	r13,`$FRAME-$SIZE_T*19`($sp)	$POP	r14,`$FRAME-$SIZE_T*18`($sp)	$POP	r15,`$FRAME-$SIZE_T*17`($sp)	$POP	r16,`$FRAME-$SIZE_T*16`($sp)	$POP	r17,`$FRAME-$SIZE_T*15`($sp)	$POP	r18,`$FRAME-$SIZE_T*14`($sp)	$POP	r19,`$FRAME-$SIZE_T*13`($sp)	$POP	r20,`$FRAME-$SIZE_T*12`($sp)	$POP	r21,`$FRAME-$SIZE_T*11`($sp)	$POP	r22,`$FRAME-$SIZE_T*10`($sp)	$POP	r23,`$FRAME-$SIZE_T*9`($sp)	$POP	r24,`$FRAME-$SIZE_T*8`($sp)	$POP	r25,`$FRAME-$SIZE_T*7`($sp)	$POP	r26,`$FRAME-$SIZE_T*6`($sp)	$POP	r27,`$FRAME-$SIZE_T*5`($sp)	$POP	r28,`$FRAME-$SIZE_T*4`($sp)	$POP	r29,`$FRAME-$SIZE_T*3`($sp)	$POP	r30,`$FRAME-$SIZE_T*2`($sp)	$POP	r31,`$FRAME-$SIZE_T*1`($sp)	mtlr	r0	addi	$sp,$sp,$FRAME	blr.align	4Lppc_AES_decrypt:	lwz	$acc00,240($key)	lwz	$t0,0($key)	lwz	$t1,4($key)	lwz	$t2,8($key)	lwz	$t3,12($key)	addi	$Tbl1,$Tbl0,3	addi	$Tbl2,$Tbl0,2	addi	$Tbl3,$Tbl0,1	addi	$acc00,$acc00,-1	addi	$key,$key,16	xor	$s0,$s0,$t0	xor	$s1,$s1,$t1	xor	$s2,$s2,$t2	xor	$s3,$s3,$t3	mtctr	$acc00.align	4Ldec_loop:	rlwinm	$acc00,$s0,`32-24+3`,21,28	rlwinm	$acc01,$s1,`32-24+3`,21,28	lwz	$t0,0($key)	lwz	$t1,4($key)	rlwinm	$acc02,$s2,`32-24+3`,21,28	rlwinm	$acc03,$s3,`32-24+3`,21,28	lwz	$t2,8($key)	lwz	$t3,12($key)	rlwinm	$acc04,$s3,`32-16+3`,21,28	rlwinm	$acc05,$s0,`32-16+3`,21,28	lwzx	$acc00,$Tbl0,$acc00	lwzx	$acc01,$Tbl0,$acc01	rlwinm	$acc06,$s1,`32-16+3`,21,28	rlwinm	$acc07,$s2,`32-16+3`,21,28	lwzx	$acc02,$Tbl0,$acc02	lwzx	$acc03,$Tbl0,$acc03	rlwinm	$acc08,$s2,`32-8+3`,21,28	rlwinm	$acc09,$s3,`32-8+3`,21,28	lwzx	$acc04,$Tbl1,$acc04	lwzx	$acc05,$Tbl1,$acc05	rlwinm	$acc10,$s0,`32-8+3`,21,28	rlwinm	$acc11,$s1,`32-8+3`,21,28	lwzx	$acc06,$Tbl1,$acc06	lwzx	$acc07,$Tbl1,$acc07	rlwinm	$acc12,$s1,`0+3`,21,28	rlwinm	$acc13,$s2,`0+3`,21,28	lwzx	$acc08,$Tbl2,$acc08	lwzx	$acc09,$Tbl2,$acc09	rlwinm	$acc14,$s3,`0+3`,21,28	rlwinm	$acc15,$s0,`0+3`,21,28	lwzx	$acc10,$Tbl2,$acc10	lwzx	$acc11,$Tbl2,$acc11	xor	$t0,$t0,$acc00	xor	$t1,$t1,$acc01	lwzx	$acc12,$Tbl3,$acc12	lwzx	$acc13,$Tbl3,$acc13	xor	$t2,$t2,$acc02	xor	$t3,$t3,$acc03	lwzx	$acc14,$Tbl3,$acc14	lwzx	$acc15,$Tbl3,$acc15

⌨️ 快捷键说明

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