Recentemente (e após uma de experimentação em 2006 nos Açores), surgiu o Cartão de Cidadão em Portugal.
No Brasil, o documento equivalente chama-se Cédula de Registro Geral mas as pessoas referem-se ao número como o seu RG... Mas o Brasil tem planos para um RG eletrónico chamado Registro de Identificação Civil (RIC).
Agradeço a chamada de atenção do Walter no comentário que fez.
O objetivo era permitir a identificação eletrónica dos cidadãos portugueses em sintonia com os outro países europeus e agregar documentos que todos os cidadãos possuem: Bilhete de Identidade, NIF, Segurança Social e Cartão de Saúde (cartões como Carta de Condução, ADSE, Seguros,... não são obrigatórios ou comuns a todos os cidadãos nacionais).
O Cartão de Cidadão partilha, com o BI, o número de identificação. Mas, diferente deste, tem 4 valores de controlo (um dígito, duas letras, um dígito). Desta forma, identificam-se números que foram registados (ou lembrados) de forma errada.
No artigo Caecus X, abordou-se de que forma o valor de controlo do BI era calculado.
Como se calcula os 4 valores adicionais do Cartão de Cidadão?
Talvez, com o tempo, venham a surgir explicações tão fantasiosas e erradas para estes quatro valores como as que surgiram para o dígito de controlo no BI.
Mas a explicação é tão simples para um como para o anterior.
~ O número inicial de 8 dígitos (7 em catrões mais antigos) são atribuídos por ordem de registo (assim, um cidadão nascido em Portugal com o número 99990000 é mais novo do que o cidadão com o número 88880000. A questão da idade falha em casos de naturalização de cidadãos não nascidos em Portugal).
~ O primeiro algarismo de controlo é o mesmo que o do anterior BI e calcula-se da forma como foi verificado no artigo Caecus X, com o resultado do algoritmo para esse algarismo a ter de ser múltiplo de 11.
~ As duas letras seguintes referem-se apenas à ordem de emissão do CdC (se é a primeira ou a segunda ou a terceira...) Todos os cartões começam por ser ZZ e, se for feita uma nova emissão do cartão (por roubo, extravio,...), a nova emissão recua no alfabeto e a segunda emisão terá as letras ZY, depois ZX, ..., PR, PQ, ..., AA. É um total de 25x25 = 625 emissões de cartão para cada pessoa para toda a vida (uma média de cerca de 8 cartões por ano pressupondo uma expectativa de vida de 80 anos: 625/80 = 7,8125).
~ O último dígito é o segundo dígito de controlo e é calculado de forma diferente do primeiro.
Começa-se por substituir cada letra por um número entre 10 e 35, sendo A=10, B=11, C=12, ..., M=22, N=23, ..., R=27, S=28, ..., X=33, Y=34, Z=35.
Em seguida, da direita para a esquerda, multiplica-se por 2 o segundo algarismo encontrado. Caso a duplicação resulte num número com dois algarismos, subtrai-se 9 (o «velhinho» noves fora nada...). Isto acontece sempre que o algarismo a dupllicar seja maior ou igual a 5. Assim, 2->4; 3->6; 4->8; 5->1; 6->3; 7->5; 8->7; 9->9.
Soma-se depois todos os valores e o resultado tem de ser múltiplo de 10 para que o número seja correto.
Analise-se um exemplo:
Cartão de Cidadão 99990000 5ZZ1
1.º dígito de controlo: 5
~ Multiplica-se o 1.º dígito por 9, o 2.º por 8,... e o 8.º por 2 e soma-se.
9x9 + 9x8 + 9*7 + 9*6 + 0*5 + 0*4 + 0*3 + 0*2 = 270.
~ Soma-se o 1.º dígito de controlo.
270 + 5 = 275
~ Verifica-se se o valor anterior é múltiplo de 11
275 / 11 = 25 -> é um número inteiro logo o 1.º dígito de controlo está correto!
Como visto no artigo Vulpino Primo, os critérios de divisibilidade por 11 mostram que 275 é múltiplo de 11
275 -> 27-5=22 -> 2-2=0 logo 275 é múltiplo de 11.
2.º dígito de controlo: 1
~ Converte-se cada letra para o número correspondente.
99990000 5(35)(35)1
~ Da direita para a esquerda, multiplica-se por 2 o cada segundo número que se encontra e substrai-se 9 caso seja maior ou igual a 10.
(apenas se subtrai 9 ao segundo número e não a todos!)
9x2 9 9x2 9 0x2 0 0x2 0 5x2 35 35x2 1
18 9 18 9 0 0 0 0 10 35 70 1
9 9 9 0 0 0 0 1 35 61 1
~ Soma-se os valores anteriores
9 + 9 + 9 + 9 + 0 + 0 + 0 + 0 + 1 + 35 + 61 +1 = 133
~ Soma-se o 2.º Dígito de Controlo.
133 + 7 = 140
~ Verifica-se se o valor anterior é múltiplo de 10.
140 / 10 = 14 -> é um número inteiro logo o 2.º dígito de controlo está correto!
Uma vez que os dois dígitos de controlo estão corretos, este número de Cartão de Cidadão está correto e corresponde a uma primeira emissão.
O uso dos dois dígitos ce controlo com algoritmos diferentes de cálculo torna a probabilidade da existência de erros quase nula.
Ver a diferença entre
«probabilidade de» e «possibilidade de» em Alea jacta est.
Para mais sobre o Cartão do Cidadão ver:
http://www.cartaodecidadao.pt/index.php?option=com_content&task=view&id=19&Itemid=29&lang=pt
http://www.pcmanias.com/controlo-de-erros-no-cartao-do-cidadao/
Para uma folha de cálculo que faz a verificação automática do número do Cartão de Cidadão ver: