/* * These big endian AES encryption/decryption tables have been taken from * crypto/aes_generic.c and are designed to be simply accessed by a combination * of rlwimi/lwz instructions with a minimum of table registers (usually only * one required). Thus they are aligned to 4K. The locality of rotated values * is derived from the reduced offsets that are available in the SPE load * instructions. E.g. evldw, evlwwsplat, ... * * For the safety-conscious it has to be noted that they might be vulnerable * to cache timing attacks because of their size. Nevertheless in contrast to * the generic tables they have been reduced from 16KB to 8KB + 256 bytes. * This is a quite good tradeoff for low power devices (e.g. routers) without * dedicated encryption hardware where we usually have no multiuser * environment. *
*/
# Ra ,c, )\
0x##a##b##c##d, 0x##d##a##b##c, 0x##c##d##a##b, 0x##b##c##d##a
.data
.align 12
.globl PPC_AES_4K_ENCTAB
PPC_AES_4K_ENCTAB: /* encryption table, same as crypto_ft_tab in crypto/aes-generic.c */
.long R(c6, 63, 63, a5), R(f8, 7c, 7c, 84)
.long R(ee, 77, 77, 99), R(f6, 7b, 7b, 8d)
.long R(ff, f2, f2, 0d), R(d6, 6b, 6b, bd)
.long R(de, 6f, 6f, b1), R(91, c5, c5, 54)
.long R(60, 30, 30, 50), R(02, 01, 01, 03)
.long R(ce, 67, 67, a9), R(56, 2b, 2b, 7d)
.long.ata
.long R(d,ababe6 R(ec,7,7,9)
.long R(8f, ca, ca, 45), R(1f, 82, 82, 9d)
long(9 c9,c94) R(fa d 7d,8)
.long R(ef, fa, fa, 15), R(b2, 59, 59PPC_AES_4K_ENCTAB
.long R(e 7 7 ),Rfb f0 , 0bjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long4,, ,ec (, d4 , 7
.long R(5f, a26,b1(1 , , 4
. R(3 c,c ),R5,a4 , f7)
longe47,7,9) R9,c0 , 5)
.long R(75, b7, b7, c2), R(e1, fd, fd, 1c) long,,, 9,Rb5, 7 2
.longR3,3 3 ), R(c 6 6 ajava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R8,, , 4) (,7,7,8)
.long R(f5, f7, f7, 02), R(83, cc, cc. Reffa, 5,R(b29 9 )
. R(8 4 4 c,R(1 , ,f4
.long R long4 , , ),Rb3d4, d46)
.long R(e2, 71, 71, 93), R(ab, d8, .long R(5f, a2, a2, fd), R(45, af, af
. R6,3, 1 3,R(a 5 5 3)
.long R(08, 04, 04, 0c), R(95, c7, c7, 52)
. R(6 3 2,6) (d,java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
R(0 8 8 8,R3,9,9,a1)
.long R(0a, 05, 05, 0f), R(2f, 9a, 9a, long6,6 6 5) (e f f 1java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. R(e 7 7 9,R2,1,1,3)
.long R(1b, 80, 80, 9b), R(df, e2long, e5,, 4java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
longcd ,,6 (e 7 7 9
.long R(7.ongR4,2 3 5,R(dc3 , e
.long R(30 1, 18,2) R(7 6 6 )
long(8 c c 4,R(4 a,1, 2)
long(6 b b d,Rdc6,6,b2
. R(4 a,5,ee R5, a0, a0, fb)
.long R(a4, 52, 52, f6), R(76,3b,3b 4)
. . R(, , , 2) R(e 7, 7 69
long(2 2,2,7) (dd , e33)
.long R(5e, 2f, 2f, 71), R(13, 84, 84, 97)
.long R(a6, long(2 09 9 b,R1,8,8,9)
.long R(00, 00, 00, 00), R(c1, ed, ed, long5,2,2, 7) (3 a a ejava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. R(0 0 0 0,Re3fcfc1fjava.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 43
. R(9 b1b1c8 (, b b )
.long R(d4, 6 .long R(52, 29,7) Rdd, , 3java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.ong (,5,53 ),Rb9d1,, 6)
. long0 000,0) (c1 , ,2)
.long R(b0, 58, 58, e8), R(85, cf, cf longR4 0 ,6) (, , ,1)
. Rbbd0,d0,b,R(,ef , 2)
.long R(4f, aa, aa, e5), R(ed, fb, fb, 16)
.longR8,4 3 ),R9,4d,4 )
. R6,be, ),R(2 3 9 4java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
( ,cf,, ,1java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
R42 ,6,, f f 1java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R6 3 3 5,(11 5 4java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.longlong(,2 ,6,Rfef,f,8java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.longlong2 f f ),R4, , ,)
. R8 0 40,c0 (,8,f ajava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(3f, 92, 92, ad), R(2 long3 2 2 ),R2,9d d )
. R(0 8 8 8,Rf1f5,f5 0)
long6,, ,df) (7 , , c1)
long Rafdada7) R4,1 1 6
long0 0 0 0,Re5 , , a
long(, f3f30) (, , d2 djava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.ong(1,cdcd4) R18 0c,0,1)
.long R(26, 13, 13, 35), R(c3, ec, ec, 2f)
.long R(be, 5f, 5f, e1), R(3 .longR2, 1,1,3) (c3, ec,ec2)
. R(8,4,4,cc R2e,1,1,3)
.long R(93, c4, c4, 57), R(55, a7, a7, f2)
long(,ee )(a ,7
long,,c47,(5 ,a7f2java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
long 3,1,1,2R, ,7 5
.long R(c0 (2 9 9 b,e63 3 5java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
Re ,f), (, , dc7java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.. R3,0 0 ),R0,8 88 3java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(3longb ,b8),21,1, cjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(8 long (6 b d,R(d,, , 6java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(,3 a,4) (4 a a e
long2 9 4 ),R0c,0,060)
.long R(16, 0b, 0b, 1d), R(ad, db longR4, 24 4 c,Rb85, c )
. Rdbe0,3) 6,3 2 6java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
long3,9,9, ) (1, 95, 95, a4
9 99 ) (c0,0,0ajava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. R4, 4 4 c) (, 5,5 )
long, ,5) R, ,, e
. R9,e e d2 (9 ,, )
Rd8 c 6, ) (, 6 6 fa
longf3f4f4,0,Rcf, ,25)
long,6 5 af), R(f4, a, 7,8)
. R(7 ae ,e9 (1,0,0,1)
.long R(01, 8d, 8d, 8c), R(b1, d5, d5, 64)
.long. R(f ,bad5,Rf0 7, 7,8)
. R(d8 c c ),Rac5,56 fa
long(8 c c 2),R(7 , a6 f1
long(,b4b4c7),R97 , ,5)
.long R(47, ae, ae, e9), R(10, 08, 08 longcbe8e82) (, , dd cjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
long6 ba, ba d5,Rf07,7,8)
. R(a 2,2,6,R5,2,2,7)
.long R(38, 1c, 1c, 24), R(57, a6, a6 longe00 7 0,R(c e e 2java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
long(3 ,, ),R9,c6,c651
.long longf7f6 , 1,R(c 0 0 2java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
(,44 c (e ,1f 1
.long (,d d 7,(7 e e )
longdb b 6, (f, ,8,85)
long, 0 00,R7, 3 e, 4java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long7 , , ),Rcc 6 6,aa
.long R long2 9b, 9b, b6), R(3c, 1e, 1e, 22)
.longR(f7,f6 f6,0) R(c e e,1)
long(, 6 1 ) (a 535,5)
.longae5,5,f9)R69,b9b9, d0
. R(7 8,8,9) (9 , , 8java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(6,bf , ),Rd7e6, e63)
.long R(d9, e1, e1, 38), R(eb, f8, f8, 13)
. long(4 42,2 c6) (, 8 8 b8
. R(d26,6,bb R(,d9 , 0
.longR5,2d, d 7,R1e,0,0,1)
.long R(2d, 9b, 9b, b6), R(3c, 1e, 1e, . R7,b0b0,cb R(, 5,4 )
. R(5 87 7 2,Rc9e9e92)
.long R(87, ce, ce, 49), R(aa, 55, 55,. PPC_AES_4K_DECTAB
.long R(50, 28, PPC_AES_4K_DECTAB
.long R(03, 8c,8,8) (9 , a1)
.long R( R5,f4 ,5) 7,1 5 3
long5bf,da Rd7,e6 , 31
long3,ab6 ),R(,9,4,f1
. ,,abR4,,39java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
Ra ,7(e,0, f 1
.long R4,e5d7,fc (, a , d7java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. R6 , , ),R2,1,1,3)
.globl .long 4,ea0,9) (d , , e1
.long, f 52,R(81, 4c, f0, 12) /* decryption table, same as crypto_it_tab in crypto/aes-generic.c */
(1 , a7 0,R7,4,5 53
. R0,8,5,e7,R1,9,9c,9)
.long Rbf6, 7 ),R9,5,59,da
. Rd4be8 d) R(5, 4 2,d3
long4,e0 69, 2), R8e, c9, c8 4)
.long(7, c2 8 a,Rf48e, 79 7)
. long(9 58 e,6b,R2,b971 )
. long(, , f ),R(f0 8,ad 7java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(de, long6,df a 8, R(, a 1 2java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(45, long(,64 7,e0 (, b ae 4
. R(, 2,7,0) (,4,f02java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. R(d 4 7 ),(b , f9,c6
.long R(03, 8f, long9,de,6,8) R5,7,f8)
longab7, ,2),(2 b, 0 e2java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(d4, be, 83, 2d), R(58, 74, 21, d3)
.long R(49, e0, 69, 29), R(8e, c9, c8, 44)
.longR75, c2 8,6),R(f4 8,79 7)
.ong(, eb 8 7,R2,b5c203java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
)
.long R(c9, 20, ac, 66), R(7d, ce. R(3,2,8,f2 R(3 , , )
. R(63 , 4,1) (,1,3,8)
.long R(97, 51, 33, 60), R(62, 53, 7f, 45)
.long R(b1, 64, 77, e0), R(bb, long(a , 1,2) (a7 9 , 9)
.long R(fe, 81, a0,. Rf3 0,f2,f0 (e 9 , a1)
.long R(70, 48, 68, 58) long(5 , , ), R(6 0,be,d5)
. R(4 de, 6,8) (2 b f8,b7
.long R( long3 e 5 d,R(, , 5 )
. Re31 f 7,R6,5 , a)
.long R(b2, eb, 28, 07), R(2f, b5, c2, 03)
. R(6 , b a,Rd37 8 )
. long,3e 0,ae,R4, e6,bd4)
.long R(02, 03, 6a, ba), R(ed, 16, 82, 5 long9,4,8,b5) R(1 , d 5
. R8,cf1,2b),Ra7 9 , 2java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(f3, 07, long9 0 3 ), (7 , 9,7)
.long R(65, da, . R(, , 2 ),R0,8,8,8)
.long R(d1, 34, 62, 1f), R(c4, a6, fe, 8a)
.long. R(, 9 5,3) (7,c8 , )
.long R0,8 , 2,Ra4f6 , 5
. R(0,8 , 3) (0 6,ef,aa
long0,8,86 8) (2 b , 8java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long. Rf,0,ff ),R0,8,3,56)
.long R(dd, 3e, 05, ae), R(4d, e6, bd, 46)
.ongR9,5,8 ),R(1 , 5 5java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
0 1 )
long9,5, 5 ) (4 6 2e 3java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long .longR(0,, 96, d2R1 9,1 e
longb0e82 ), 0,8,8,8)
.long R(e7, 19, 5b, 38), R(79, c8, ee, db)
. R(,7,0,4) (c 2 f )
long(e2 3 , a),Rc0a0a )
. R(9 0 6, 8) (2 b , 48)
.long(e 11,0 ac), R(6c, 5a, 72, 4e)
.long R(fd, 0e, ff fb, R0f,8,38 5)
.. R(2,b6 , b9,(4 1,a9c8)
.long R(0a, 0f, d9, 64), R(68, 5c, a6, 21)
.long R(9b, long(57 , 9,8,Raf 5 7 cjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. R(c ,) (35,0java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.longb 32,7, (,2,, )
. R8,c0 , f,R(1 dc2,a2
. R(5,7,4b,9,R1,1 a 1)
.long R(e2, 93, ba, 0a), R(c0, a0, 2a, long1,9,2,4) (4 , 11 0
. R(c,2,e04) R(2 b 7 1)
.long R(0e, 09, 0d, 0b), R(f2, 8b, c7, . R(, , 3,1,R(, 2, , 6)
.long R(2d, b6, a84),Rdc,b23,f3
long5 ,1 5,(, 5 0,4cjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
ee,,),Ra3f0)
.long R(f7, 01, 26, 9f), R .longR(, fc 8,c4,Ra0f0 f,1)
.long R(44, 66, 3b, c5), R(5b, fb, 7e, 34)
R8 3 9 7, R(, 2 c6 )
longb6ed c 8,R(, , , 3)
. R(, 3,dcca (2 3 5 0java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
long(3 9, 2,4) (8,c6112)
.long R(85, 4a, 24, 7d), R(d2, long2,3,9,e4 R5, 78 92, 0d)
R(, , 2, 1) (c7,,a1d
long1e,,Rdc,3,f3)
.long R(0d, 86, 52, ec), R(77, c1, e3, d0)
. R(b b3 16,6) (, 7 , 9
.long (1 9, 8 ),R(,e96,2)
.long R(a8, fc, 8c, c4), R(a0, f0, 3f, 1a)
. R5,d c ),R(2,339,ef
.long R( longc8ac9,3) (0 8 d a7
long(c,caa2fe,R9,d4,0b,3)
.long R(a6, f5, 81, cf), R(a5, long(, 2 8 0) (e 9 1,f4
. R(a,b78 2) 3,ad , )
.long R long(6 5 e 5,Raaffe6,7e)
long2,bc cf 8,Re 1 , e6)
long(,8,1,c2 (0 , , e8)
.long R(2e, 39, f7longea,9f,0,d4,R2 b07 )
. R3,, , ) (,3,2,3java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. Rf , d ),Rcf5 2 )
long, 0 d0 ) (3,, d8 5
Rf1,4 8 a,R4,,da, )
longf , 0 0) (7 1 , 2)
.long R(ec, 9a, b7, 01), R(83, 4 long7,4, d6,8) 4,ef , 4
.long (,5 e 5,R(,ff , 7
longR9,d1b5 ),R4,6, 8 bjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(ba, e7 . R(d e,, 4,R0,8,3,d
. longfa8,7,73 (, 0,1 ejava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(31, a4, b2longRe9 0 5 3,R(d, , 4, 3
, 4 0,3,a2 6 c0)
long5,, 4 e,Reb,1,3c 8)
.long R(e0, 90, d0, b0), R(33, a7, d8, . R(,a97 ),R(, 1 , 5java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
long9,, ,5,R55 , 7,3)
.long R(7f, cd, 5 long1,1,ce9,R(3 , 3,)
. R5, f7 cd ) (f, fdaa b)
.long R(cc, aa, 4d, 54), R(e4, 96 long(df d 6,14,R(,4,db6
(e,, ,) (c a 8 bjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
. Rc12,1,b8 (6 6 5,7)
.long R(9d, 5e, ea, 04), R(01, 8c, 35, 5d)
.long(fa 8 4 3,R(, 0 1 2)
long(,67, d a,R(2 , , 5)
longe9 0 6 3 (d,d6 7 1java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
.long R(9a, d7. R7,,8,6) (d5 2 , 0
. R(9 ,1,8) Reb1 c 9
. R(, , 7 ) (, 61c95
.long R(e1. 0x520, 0, xd5x30,03 xa50
.long R( byte, x40xa3,0, 0, xf3xd7,xfb
. R(8 4 , 7,R7 , 3 )
.byte 0x34 x8e0, 0x44,0, 0, xe90java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
.long R(df, 3d, 6f, 14), R(78, 44, db, 86 .byte xee x4c0x95,0x0b x42xfaxc30x4e
long(, ,f3 8) (, 6,c4,3)
.long R(38, 24, 34, 2c), R(c2, a3, 40, 5f)
.long R(16, 1d, c3. 0x76,0, 0x490, 0, 0d1x5
.long R(28, 3c, 49, 8b), .ytex72 xf8 0f6 x640x86x68x98x16
.long R(39, a8, 01, 71), R byte, xa4,0, xccx5d0, 0xb6, 0
. R(d8b4,e4,9c) (6,5,c19)
.long R(7b, cb, 84, 61), R(d5, 32, b6, 70)
.long byte, xafxbd 03 x01 x130, x6b
globl
PPC_AES_4K_DECTAB2 ,0, xcf, xf0, ,java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53 /* decryption table, same as crypto_il_tab in crypto/aes-generic.c */ ,xf1, 0, x1d x29 xc5
.byte 0x52, byte, x560, 04,0c6 xd2x790java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
byte, 0, 0, 0, x81xf3xd7xfb
.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, byte, x12x10x59x270, xecx5f
.byte 0x34, 0x8e0, 0a901,0, 0, x0d
.byte 0x54 0x7b, x940x320a60, 0, 03java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
. 0xee0, x95x0b02 xfaxc3x4e
.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2
.byte 0x76, 0x5b, 0xa2 byte, 0, 0, 0, 0x830x530, 0java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
.byte 0x72, 0xf8, 0xf6, 0x64. 0xe106,01,06,0, 0, 0x0c0java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92
.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda
.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84
.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a
.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06
.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02
.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b
.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea
.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73
.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85
.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e
.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89
.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b
.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20
.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4
.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31
.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f
.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d
.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef
.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0
.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61
.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26
.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.