Keisanki081. 3 QR
3.1 QR
1
2 1 QR
360
URL
QR 1 21 × 21
40 177 × 177
40 1,817
QR 0 1
(0, 0)
1 3.1
0 20
1: 1 QR
0 1 2 3 4 5 6 7 8 9 1011121314151617181920
0
1
2
3
4 P P
i
P
5 PP
PP
HH PPP
6
Y
7
HH PP @I
8 PP@
9 X X
y
X X HH P@
P
XXX
10 H
XXX H
11
H
XXXHH
12
XXHX
13
14
)
15
16
17
18
19
20
1
1
QR http://www.QRcode.com
13
2. 3.2 QR
QR
3.2 D1 D13
E1 E13
2
1 8 bit = 1
2: 1 QR
0
1 E E
2
3 5 4
4
5 E E
6
1413121110 9 8 7
6 3 7 6 5 4 3 2 1 0
E E E E E E D D D D
13 12 11 10 7 2 10 9 4 3
8 E E D D D D
9
10 8 1 11 8 5 2
11
12 E D D D D D
13
14 9 13 12 7 6 1
3.2.1
L M Q H 4
L 7% 01
M 15 % 00
Q 25 % 11
H 30 % 10
L 19 QR
H 9
13 Q
2
QR
14
3. 3.2.2
1011101 QR
8
i+j ≡0 (mod 2) 000
i≡0 (mod 2) 001
j≡0 (mod 3) 010
i+j ≡0 (mod 3) 011
[i] + [j] ≡ 0 (mod 2) 100
(ij) ≡ 0 (mod 6) 101
(ij mod 2) + (ij mod 3) ≡ 0 (mod 2) 110
(i + j mod 2) + (ij mod 3) ≡ 0 (mod 2) 111
3
011
3: 1 QR 011
0
1
2
3
4
5
6
1413121110 9 8 7 7 6 5 4 3 2 1 0
8
9
10
11
12
13
14
bit
4
XOR
3
...
4
F2
15
4. 3.2.3
Q 11
011 14 bit 10
bit 5 bit 11011 5 bit (15, 5, 7) BCH
9 bit 0 bit
f1 (x) := x4 + x + 1 ∈ F2 [x]
F24 = F2 (α) ∼ F2 [x]/(f1 (x))
= (α : f1 (x) )
F× = ⟨α⟩
24
⟨α3 ⟩, ⟨α5 ⟩ α3 , α5
f3 (x) := x4 + x3 + x2 + x + 1, f5 (x) := x2 + x + 1
g(x) := f1 (x)f3 (x)f5 (x) bit 11011
x4 + x3 +x+1 x15−5 (x4 + x3 + x + 1) (mod g(x))
bit
10000 10100
11011 10000 10100
10101 00000 10010
01110 10000 00110
bit
4: 1 Q, 011 QR
16
5. 3.2.4
QR
1 8 bit
5
8 bit
1000
8 bit 0100
0010
0001
ASCII 1 8
6
bit J 16 (4A)16
2 (1001010)2 0100 1010
J bit n (6E)16 = (1101110)2
0110 1110 n bit
ASCII
0 1 2 3 4 5 6 7
0x00 NUL SOH STX ETX EOT ENQ ACK BEL
0x08 BS HT LF VT FF CR SO SI
0x10 DLE DC1 DC2 DC3 DC4 NAK SYN ETB
0x18 CAN EM SUB ESC FS GS RS US
0x20 ’ ’ ’!’ ’’ ’#’ ’$’ ’%’ ’’ ’’’
0x28 ’(’ ’)’ ’*’ ’+’ ’,’ ’-’ ’.’ ’/’
0x30 ’0’ ’1’ ’2’ ’3’ ’4’ ’5’ ’6’ ’7’
0x38 ’8’ ’9’ ’:’ ’;’ ’’ ’=’ ’’ ’?’
0x40 ’@’ ’A’ ’B’ ’C’ ’D’ ’E’ ’F’ ’G’
0x48 ’H’ ’I’ ’J’ ’K’ ’L’ ’M’ ’N’ ’O’
0x50 ’P’ ’Q’ ’R’ ’S’ ’T’ ’U’ ’V’ ’W’
0x58 ’X’ ’Y’ ’Z’ ’[’ ’’ ’]’ ’^’ ’_’
0x60 ’‘’ ’a’ ’b’ ’c’ ’d’ ’e’ ’f’ ’g’
0x68 ’h’ ’i’ ’j’ ’k’ ’l’ ’m’ ’n’ ’o’
0x70 ’p’ ’q’ ’r’ ’s’ ’t’ ’u’ ’v’ ’w’
0x78 ’x’ ’y’ ’z’ ’{’ ’|’ ’}’ ’~’ DEL
Problem 1. 1 bit
5
1 byte = 8 bit
6
bit 0 7 bit
17
6. 4 bit 8 bit
8 Waseda (6
)
0100 0000 0110
D1 0100 0000
W ASCII (57)16 = (1010111)2
0100 0000 0110 0101 0111
D2 0110 0101
QR ASCII
4 bit
D13 4bit
0000 4 bit
1 Q QR
8 bit 11
8 bit
bit
A 11101100 B
00010001 2
Waseda (6 )
13 × 8 = 104 bit
0 1 2 3 4 5 6 7
0 1 0 0
0 0 0 0 1 0 0 1
W 0 1 0 1 0 1 0 0
a 0 1 1 0 0 0 0 1
s 0 1 1 1 0 0 1 1
e 0 1 1 0 0 1 0 1
d 0 1 1 0 0 1 0 0
a 0 1 1 0 0 0 0 1
0 0 0 0
A 1 1 1 0 1 1 0 0
B 0 0 0 1 0 0 0 1
A 1 1 1 0 1 1 0 0
B 0 0 0 1 0 0 0 1
A 1 1 1 0 1 1 0 0
18
7. D1 D13
D 0 1 2 3 4 5 6 7
D1 0 1 0 0 0 0 0 0
D2 0 1 1 0 0 1 0 1
D3 0 1 0 0 0 1 1 0
D4 0 0 0 1 0 1 1 1
D5 0 0 1 1 0 1 1 0
D6 0 1 0 1 0 1 1 0
D7 0 1 0 0 0 1 1 0
D8 0 0 0 1 0 0 0 0
D9 1 1 1 0 1 1 0 0
D10 0 0 0 1 0 0 0 1
D11 1 1 1 0 1 1 0 0
D12 0 0 0 1 0 0 0 1
D13 1 1 1 0 1 1 0 0
Problem 2. QR
7
D 0 1 2 3 4 5 6 7
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
Problem♯ 3.
7
11
19
8. 3.2.5
D1 D13
E1 E13
f256 (x) = x8 + x4 + x3 + x2 + 1 ∈ F2 [x] F28 = F256 =
F2 [x]/(f256 (x)) f256 (x) 1 α ∈ F256
×
F256 F× = ⟨α⟩
256
H := (α254 , α253 , . . . , α3 , α2 , α, 1)
¨
In[1]:= f256:=x^8+x^4+x^3+x^2+1;
In[2]:= vector=Table[
Mod[Coefficient[PolynomialMod[If[i=254,x^(254-i),0],
f256],x,{7,6,5,4,3,2,1,0}],2],{i,0,255}]; ©
¨
In[3]:= pow=Table[If[i=254,a^(254-i),0],{i,0,255}]
In[4]:= vec2pow=Table[vec[[i]]-pow[[i]],{i,1,256}]
In[5]:= pow2vec=Table[pow[[i]]-vec[[i]],{i,1,256}]
©
vec2pow pow2vec
¨
In[6]:= a^25/.pow2vec
Out[6]= {0, 0, 0, 0, 0, 0, 1, 1}
In[7]:= {0, 0, 0, 0, 0, 0, 1, 1}/.vec2pow
25
Out[7]= a
©
F256 F⊕8
2 F×
256 = ⟨α⟩
F256
g(x) = (x − 1)(x − α)(x − α2 )(x − α3 )(x − α4 )(x − α5 )(x − α6 )
(x − α7 )(x − α8 )(x − α9 )(x − α10 )(x − α11 )(x − α12 )
¨
In[8]:= g=(x-1)*(x-a)*(x-a^2)*(x-a^3)*(x-a^4)*(x-a^5)*(x-a^6)*
(x-a^7)*(x-a^8)*(x-a^9)*(x-a^10)*(x-a^11)*(x-a^12);
In[9]:= g0=Mod[Coefficient[PolynomialMod[g,{2,a^255-1}],x,
{13,12,11,10,9,8,7,6,5,4,3,2,1,0}]/.pow2vec,2]/.vec2pow
74 152 176 100 86 100 106 104 130
Out[9]= {1, a , a , a , a , a , a , a , a , a ,
218 206 140 78
a , a , a , a } ©
20
9. g(x) = x13 + α74 x12 + α152 x11 + α176 x10 + α100 x9 + α86 x8 + α100 x7
+ α106 x6 + α104 x5 + α130 x4 + α218 x3 + α206 x2 + α140 x + α78
G0
¨
In[10]:= G0=Table[If[ji,0,If[j14+i,g0[[j-i+1]],0]],
{i,13},{j,26}]
©
G0 G = (I|A)
¨
In[11]:= For[j=1,j13,j++,
Do[G0[[i]]=G0[[i]]+G0[[i,j+1]]*G0[[j+1]],{i,1,j}]]
In[12]:= G=PolynomialMod[
PolynomialMod[G0,{2,a^255-1}]/.pow2vec,2]/.vec2pow
©
Waseda D1 D13
E1 E13
¨
In[13]:= d={{0,1,0,0,0,0,0,0},{1,0,0,1,0,1,0,1},
{0,1,0,0,0,1,1,0},{0,0,0,1,0,1,1,1},{0,0,1,1,0,1,1,0},
{0,1,0,1,0,1,1,0},{0,1,0,0,0,1,1,0},{0,0,0,1,0,0,0,0},
{1,1,1,0,1,1,0,0},{0,0,0,1,0,0,0,1},{1,1,1,0,1,1,0,0},
{0,0,0,1,0,0,0,1},{1,1,1,0,1,1,0,0}
In[14]:= d2=d/.vec2pow
In[15]:= e=Mod[PolynomialMod[d2.G,a^255-1]/.pow2vec,2]
©
Problem 4. 13 D1 D13 13
E1 E13
E 0 1 2 3 4 5 6 7
E1
E2
E3
E4
E5
E6
E7
E8
E9
E10
E11
E12
E13
21
10. 3.2.6 QR
¨
In[16]:= m011={{0,1,1,0,0,0,0,1},{1,0,0,0,0,1,1,0},
{0,0,0,1,1,0,0,0},{1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1},
{0,0,1,0,0,1,0,0},{1,0,0,0,0,1,1,0},{0,0,0,1,1,0,0,0},
{0,1,1,0,0,0,0,1},{0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0},
{0,1,0,0,1,0,0,1},{0,0,0,1,1,0,0,0},{0,1,1,0,0,0,0,1},
{1,0,0,0,0,1,1,0},{0,0,0,1,0,0,0,1},{1,0,0,0,0,1,1,0},
{0,1,0,0,1,0,0,1},{0,0,1,0,0,0,1,0},{0,1,0,0,1,0,0,1},
{0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0},{0,0,0,1,1,0,0,0},
{0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1}};
In[17]:= f=Mod[e+m011,2]
©
D1 D13 E1 E13
2
D1 D3 D4 D6
8 7 2 1
D7 D9 D10 D12
6 5 4 3
D13 E4 E5 E9
4 3 6 5
E10 E11
2 1 8 7
E12 E13
Problem 5. 1 QR
22