Can Error correction and detection be done with out adding extra bits?GPG and PAR2 error correction data from the plain archive, will it compromise security?Analogue encryption algorithmsBallot box with multiple parties. All can read it, or none can read itError Detection/Correction Code-Then-EncryptVery simple and minimal replay prevention schemeCan it be done? Securing physical badges with cryptographyWhich cryptographic operations can be optimized with a GPU? When shouldn't it be done?How to protect a device which has different levels of access to its storage?How can XTS be used to detect the presence of TrueCrypt hidden volumes?Which symmetric encryption systems, pseudorandom number generators, and hash functions are best suited for reversible computers?
We get more abuse than anyone else
Should I use a resistor between the gate driver and MOSFET (gate pin)?
Why isn't a binary file shown as 0s and 1s?
How to interpret a promising preprint that was never published?
Word for something indicating the importance of guarding it properly
Can firbolgs cast their racial Detect Magic spell as a ritual?
I have found a mistake on someone's code published online: what is the protocol?
Term “console” in game consoles
"Je suis petite, moi?", purpose of the "moi"?
Which modern firearm should a time traveler bring to be easily reproducible for a historic civilization?
How fast does a character need to move to be effectively invisible?
Is it legal for a supermarket to refuse to sell an adult beer if an adult with them doesn’t have their ID?
Arithmetics in LuaLaTeX
Which GPUs to get for Mathematical Optimization (if any)?
Who determines when road center lines are solid or dashed?
Company looks for long-term employees, but I know I won't be interested in staying long
Zhora asks Deckard: "Are you for real?" Was this meant to be significant?
Difference between c++14 and c++17 using: `*p++ = *p`
Why are there few or no black super GMs?
Operation Unzalgo
Why jet engines sound louder on the ground than inside the aircraft?
Does unblocking power bar outlets through short extension cords increase fire risk?
Why won't some unicode characters print to my terminal?
How to not confuse readers with simultaneous events?
Can Error correction and detection be done with out adding extra bits?
GPG and PAR2 error correction data from the plain archive, will it compromise security?Analogue encryption algorithmsBallot box with multiple parties. All can read it, or none can read itError Detection/Correction Code-Then-EncryptVery simple and minimal replay prevention schemeCan it be done? Securing physical badges with cryptographyWhich cryptographic operations can be optimized with a GPU? When shouldn't it be done?How to protect a device which has different levels of access to its storage?How can XTS be used to detect the presence of TrueCrypt hidden volumes?Which symmetric encryption systems, pseudorandom number generators, and hash functions are best suited for reversible computers?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
$begingroup$
I have gone through error detection and correction techniques like hamming codes, BCH codes require extra parity bits for detection and correction. While sending data, we always seem to introduce error correction by adding parity and use parity while checking for errors.
Can error detection and correction be done without adding any extra bits?
encryption cryptographic-hardware decryption
$endgroup$
add a comment |
$begingroup$
I have gone through error detection and correction techniques like hamming codes, BCH codes require extra parity bits for detection and correction. While sending data, we always seem to introduce error correction by adding parity and use parity while checking for errors.
Can error detection and correction be done without adding any extra bits?
encryption cryptographic-hardware decryption
$endgroup$
8
$begingroup$
Are you familiar with the pigeonhole principle? Because it's trivial to reduce this question to that.
$endgroup$
– MSalters
15 hours ago
2
$begingroup$
This doesn't seem to be at all about encryption
$endgroup$
– ilkkachu
12 hours ago
$begingroup$
@ilkkachu It's about coding theory, which can be loosely considered to be in the field of cryptography. I would say questions on that topic can certainly be on-topic here. I'm on the fence whether this particular question is though...
$endgroup$
– marcelm
3 hours ago
add a comment |
$begingroup$
I have gone through error detection and correction techniques like hamming codes, BCH codes require extra parity bits for detection and correction. While sending data, we always seem to introduce error correction by adding parity and use parity while checking for errors.
Can error detection and correction be done without adding any extra bits?
encryption cryptographic-hardware decryption
$endgroup$
I have gone through error detection and correction techniques like hamming codes, BCH codes require extra parity bits for detection and correction. While sending data, we always seem to introduce error correction by adding parity and use parity while checking for errors.
Can error detection and correction be done without adding any extra bits?
encryption cryptographic-hardware decryption
encryption cryptographic-hardware decryption
edited 27 mins ago
Community♦
1
1
asked 23 hours ago
Krishna BalupalaKrishna Balupala
515 bronze badges
515 bronze badges
8
$begingroup$
Are you familiar with the pigeonhole principle? Because it's trivial to reduce this question to that.
$endgroup$
– MSalters
15 hours ago
2
$begingroup$
This doesn't seem to be at all about encryption
$endgroup$
– ilkkachu
12 hours ago
$begingroup$
@ilkkachu It's about coding theory, which can be loosely considered to be in the field of cryptography. I would say questions on that topic can certainly be on-topic here. I'm on the fence whether this particular question is though...
$endgroup$
– marcelm
3 hours ago
add a comment |
8
$begingroup$
Are you familiar with the pigeonhole principle? Because it's trivial to reduce this question to that.
$endgroup$
– MSalters
15 hours ago
2
$begingroup$
This doesn't seem to be at all about encryption
$endgroup$
– ilkkachu
12 hours ago
$begingroup$
@ilkkachu It's about coding theory, which can be loosely considered to be in the field of cryptography. I would say questions on that topic can certainly be on-topic here. I'm on the fence whether this particular question is though...
$endgroup$
– marcelm
3 hours ago
8
8
$begingroup$
Are you familiar with the pigeonhole principle? Because it's trivial to reduce this question to that.
$endgroup$
– MSalters
15 hours ago
$begingroup$
Are you familiar with the pigeonhole principle? Because it's trivial to reduce this question to that.
$endgroup$
– MSalters
15 hours ago
2
2
$begingroup$
This doesn't seem to be at all about encryption
$endgroup$
– ilkkachu
12 hours ago
$begingroup$
This doesn't seem to be at all about encryption
$endgroup$
– ilkkachu
12 hours ago
$begingroup$
@ilkkachu It's about coding theory, which can be loosely considered to be in the field of cryptography. I would say questions on that topic can certainly be on-topic here. I'm on the fence whether this particular question is though...
$endgroup$
– marcelm
3 hours ago
$begingroup$
@ilkkachu It's about coding theory, which can be loosely considered to be in the field of cryptography. I would say questions on that topic can certainly be on-topic here. I'm on the fence whether this particular question is though...
$endgroup$
– marcelm
3 hours ago
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
In general, no. Let us say you have a data vector $x$ of $k$ bits and one bit is flipped by an error. There is no way of detecting, let alone correcting this, unless the errored data vector $x'$ is not another valid data vector.
If the errored vector $x'$ is not a valid data vector and you can do detection, then all $k$ bits cannot be used as arbitrary data bits, thus your data rate is less than $k$ bits, implying you are using parity in some sense.
More simply, if there are no parity bits, all $2^k$ data vectors are valid, and thus all errors result in another valid data vector, making all errors undetectable.
Since correction is harder than detection, the same argument rules out correction as well.You can't correct if you can't detect.
$endgroup$
$begingroup$
Not to challenge your statements, which are correct, but now you have me pondering whether you can correct something you can't detect in quantum cryptography. I'm thinking there may be situations where you have enough information to know how to correct a signal, but you disrupt the communication if you try to actually detect it.
$endgroup$
– Cort Ammon
10 hours ago
$begingroup$
@CortAmmon It's the same idea. You can test (...somehow, don't ask me the specifics) whether a given qubit has been tested before, and know whether it was looked at -- but in doing so, you're 'sacrificing' that bit of information. You also can't check what it used to be without, again, sending more information somehow. That might be in the same qubit, of course, but then you're still using some transmitted information. This is a fundamental property of information in general, not of classical memory.
$endgroup$
– Nic Hartley
7 hours ago
add a comment |
$begingroup$
For the general case kodlus answer explained it is not possible. For detecting or correcting errors you need to have redundancy. But many kind of information have included redundancy:
- Some file formats have a fixed header
- Some file formats/protocols only use part of the available symbol space
- Some information only allow certain information in certain context
- ...
A typical way to detect errors in transmission in protocol that only allow 7-bit-ASCII codes was/is to use the 8th bit as parity bit. So you remove redundant information and substitute it with information that allow error-detection or even error-correction.
Or if you send request of type a and expect response of type A but get a response of type B, you know that something went wrong.
New contributor
$endgroup$
$begingroup$
Nice points. Yes, the already available symbol places are not data and may be used for parity checks. Your last paragraph essentially indicates a higher layer protocol which uses information outside the defined channel.
$endgroup$
– kodlu
29 mins ago
add a comment |
$begingroup$
No, because of the Pigeonhole Principle.
Let's say you want to be able to send arbitrary $k$-bit messages. There are $2^k$ possible bit-patterns, and $2^k$ possible intended messages.
Now let's say you want to add error correction. This means that, on top of the $2^k$ correct messages that you want to be able to send, you also want to be able to send some number of incorrect messages (that will get detected and fixed at the other end). Each incorrect message must be distinguishable from every valid message, or else there'd be no way to correct it.
But there are only $2^k$ bit-patterns available; if you want to be able to distinguish $2^k$ correct messages, plus some additional number of incorrect messages, you'll need more than $k$ bits.
(Adding one bit for parity, for example, gives $2^k+1$ possible patterns, enough for $2^k$ correct messages and $2^k$ incorrect messages.)
New contributor
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "281"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f72025%2fcan-error-correction-and-detection-be-done-with-out-adding-extra-bits%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
In general, no. Let us say you have a data vector $x$ of $k$ bits and one bit is flipped by an error. There is no way of detecting, let alone correcting this, unless the errored data vector $x'$ is not another valid data vector.
If the errored vector $x'$ is not a valid data vector and you can do detection, then all $k$ bits cannot be used as arbitrary data bits, thus your data rate is less than $k$ bits, implying you are using parity in some sense.
More simply, if there are no parity bits, all $2^k$ data vectors are valid, and thus all errors result in another valid data vector, making all errors undetectable.
Since correction is harder than detection, the same argument rules out correction as well.You can't correct if you can't detect.
$endgroup$
$begingroup$
Not to challenge your statements, which are correct, but now you have me pondering whether you can correct something you can't detect in quantum cryptography. I'm thinking there may be situations where you have enough information to know how to correct a signal, but you disrupt the communication if you try to actually detect it.
$endgroup$
– Cort Ammon
10 hours ago
$begingroup$
@CortAmmon It's the same idea. You can test (...somehow, don't ask me the specifics) whether a given qubit has been tested before, and know whether it was looked at -- but in doing so, you're 'sacrificing' that bit of information. You also can't check what it used to be without, again, sending more information somehow. That might be in the same qubit, of course, but then you're still using some transmitted information. This is a fundamental property of information in general, not of classical memory.
$endgroup$
– Nic Hartley
7 hours ago
add a comment |
$begingroup$
In general, no. Let us say you have a data vector $x$ of $k$ bits and one bit is flipped by an error. There is no way of detecting, let alone correcting this, unless the errored data vector $x'$ is not another valid data vector.
If the errored vector $x'$ is not a valid data vector and you can do detection, then all $k$ bits cannot be used as arbitrary data bits, thus your data rate is less than $k$ bits, implying you are using parity in some sense.
More simply, if there are no parity bits, all $2^k$ data vectors are valid, and thus all errors result in another valid data vector, making all errors undetectable.
Since correction is harder than detection, the same argument rules out correction as well.You can't correct if you can't detect.
$endgroup$
$begingroup$
Not to challenge your statements, which are correct, but now you have me pondering whether you can correct something you can't detect in quantum cryptography. I'm thinking there may be situations where you have enough information to know how to correct a signal, but you disrupt the communication if you try to actually detect it.
$endgroup$
– Cort Ammon
10 hours ago
$begingroup$
@CortAmmon It's the same idea. You can test (...somehow, don't ask me the specifics) whether a given qubit has been tested before, and know whether it was looked at -- but in doing so, you're 'sacrificing' that bit of information. You also can't check what it used to be without, again, sending more information somehow. That might be in the same qubit, of course, but then you're still using some transmitted information. This is a fundamental property of information in general, not of classical memory.
$endgroup$
– Nic Hartley
7 hours ago
add a comment |
$begingroup$
In general, no. Let us say you have a data vector $x$ of $k$ bits and one bit is flipped by an error. There is no way of detecting, let alone correcting this, unless the errored data vector $x'$ is not another valid data vector.
If the errored vector $x'$ is not a valid data vector and you can do detection, then all $k$ bits cannot be used as arbitrary data bits, thus your data rate is less than $k$ bits, implying you are using parity in some sense.
More simply, if there are no parity bits, all $2^k$ data vectors are valid, and thus all errors result in another valid data vector, making all errors undetectable.
Since correction is harder than detection, the same argument rules out correction as well.You can't correct if you can't detect.
$endgroup$
In general, no. Let us say you have a data vector $x$ of $k$ bits and one bit is flipped by an error. There is no way of detecting, let alone correcting this, unless the errored data vector $x'$ is not another valid data vector.
If the errored vector $x'$ is not a valid data vector and you can do detection, then all $k$ bits cannot be used as arbitrary data bits, thus your data rate is less than $k$ bits, implying you are using parity in some sense.
More simply, if there are no parity bits, all $2^k$ data vectors are valid, and thus all errors result in another valid data vector, making all errors undetectable.
Since correction is harder than detection, the same argument rules out correction as well.You can't correct if you can't detect.
answered 23 hours ago
kodlukodlu
10k2 gold badges13 silver badges33 bronze badges
10k2 gold badges13 silver badges33 bronze badges
$begingroup$
Not to challenge your statements, which are correct, but now you have me pondering whether you can correct something you can't detect in quantum cryptography. I'm thinking there may be situations where you have enough information to know how to correct a signal, but you disrupt the communication if you try to actually detect it.
$endgroup$
– Cort Ammon
10 hours ago
$begingroup$
@CortAmmon It's the same idea. You can test (...somehow, don't ask me the specifics) whether a given qubit has been tested before, and know whether it was looked at -- but in doing so, you're 'sacrificing' that bit of information. You also can't check what it used to be without, again, sending more information somehow. That might be in the same qubit, of course, but then you're still using some transmitted information. This is a fundamental property of information in general, not of classical memory.
$endgroup$
– Nic Hartley
7 hours ago
add a comment |
$begingroup$
Not to challenge your statements, which are correct, but now you have me pondering whether you can correct something you can't detect in quantum cryptography. I'm thinking there may be situations where you have enough information to know how to correct a signal, but you disrupt the communication if you try to actually detect it.
$endgroup$
– Cort Ammon
10 hours ago
$begingroup$
@CortAmmon It's the same idea. You can test (...somehow, don't ask me the specifics) whether a given qubit has been tested before, and know whether it was looked at -- but in doing so, you're 'sacrificing' that bit of information. You also can't check what it used to be without, again, sending more information somehow. That might be in the same qubit, of course, but then you're still using some transmitted information. This is a fundamental property of information in general, not of classical memory.
$endgroup$
– Nic Hartley
7 hours ago
$begingroup$
Not to challenge your statements, which are correct, but now you have me pondering whether you can correct something you can't detect in quantum cryptography. I'm thinking there may be situations where you have enough information to know how to correct a signal, but you disrupt the communication if you try to actually detect it.
$endgroup$
– Cort Ammon
10 hours ago
$begingroup$
Not to challenge your statements, which are correct, but now you have me pondering whether you can correct something you can't detect in quantum cryptography. I'm thinking there may be situations where you have enough information to know how to correct a signal, but you disrupt the communication if you try to actually detect it.
$endgroup$
– Cort Ammon
10 hours ago
$begingroup$
@CortAmmon It's the same idea. You can test (...somehow, don't ask me the specifics) whether a given qubit has been tested before, and know whether it was looked at -- but in doing so, you're 'sacrificing' that bit of information. You also can't check what it used to be without, again, sending more information somehow. That might be in the same qubit, of course, but then you're still using some transmitted information. This is a fundamental property of information in general, not of classical memory.
$endgroup$
– Nic Hartley
7 hours ago
$begingroup$
@CortAmmon It's the same idea. You can test (...somehow, don't ask me the specifics) whether a given qubit has been tested before, and know whether it was looked at -- but in doing so, you're 'sacrificing' that bit of information. You also can't check what it used to be without, again, sending more information somehow. That might be in the same qubit, of course, but then you're still using some transmitted information. This is a fundamental property of information in general, not of classical memory.
$endgroup$
– Nic Hartley
7 hours ago
add a comment |
$begingroup$
For the general case kodlus answer explained it is not possible. For detecting or correcting errors you need to have redundancy. But many kind of information have included redundancy:
- Some file formats have a fixed header
- Some file formats/protocols only use part of the available symbol space
- Some information only allow certain information in certain context
- ...
A typical way to detect errors in transmission in protocol that only allow 7-bit-ASCII codes was/is to use the 8th bit as parity bit. So you remove redundant information and substitute it with information that allow error-detection or even error-correction.
Or if you send request of type a and expect response of type A but get a response of type B, you know that something went wrong.
New contributor
$endgroup$
$begingroup$
Nice points. Yes, the already available symbol places are not data and may be used for parity checks. Your last paragraph essentially indicates a higher layer protocol which uses information outside the defined channel.
$endgroup$
– kodlu
29 mins ago
add a comment |
$begingroup$
For the general case kodlus answer explained it is not possible. For detecting or correcting errors you need to have redundancy. But many kind of information have included redundancy:
- Some file formats have a fixed header
- Some file formats/protocols only use part of the available symbol space
- Some information only allow certain information in certain context
- ...
A typical way to detect errors in transmission in protocol that only allow 7-bit-ASCII codes was/is to use the 8th bit as parity bit. So you remove redundant information and substitute it with information that allow error-detection or even error-correction.
Or if you send request of type a and expect response of type A but get a response of type B, you know that something went wrong.
New contributor
$endgroup$
$begingroup$
Nice points. Yes, the already available symbol places are not data and may be used for parity checks. Your last paragraph essentially indicates a higher layer protocol which uses information outside the defined channel.
$endgroup$
– kodlu
29 mins ago
add a comment |
$begingroup$
For the general case kodlus answer explained it is not possible. For detecting or correcting errors you need to have redundancy. But many kind of information have included redundancy:
- Some file formats have a fixed header
- Some file formats/protocols only use part of the available symbol space
- Some information only allow certain information in certain context
- ...
A typical way to detect errors in transmission in protocol that only allow 7-bit-ASCII codes was/is to use the 8th bit as parity bit. So you remove redundant information and substitute it with information that allow error-detection or even error-correction.
Or if you send request of type a and expect response of type A but get a response of type B, you know that something went wrong.
New contributor
$endgroup$
For the general case kodlus answer explained it is not possible. For detecting or correcting errors you need to have redundancy. But many kind of information have included redundancy:
- Some file formats have a fixed header
- Some file formats/protocols only use part of the available symbol space
- Some information only allow certain information in certain context
- ...
A typical way to detect errors in transmission in protocol that only allow 7-bit-ASCII codes was/is to use the 8th bit as parity bit. So you remove redundant information and substitute it with information that allow error-detection or even error-correction.
Or if you send request of type a and expect response of type A but get a response of type B, you know that something went wrong.
New contributor
New contributor
answered 8 hours ago
H. IddenH. Idden
1211 bronze badge
1211 bronze badge
New contributor
New contributor
$begingroup$
Nice points. Yes, the already available symbol places are not data and may be used for parity checks. Your last paragraph essentially indicates a higher layer protocol which uses information outside the defined channel.
$endgroup$
– kodlu
29 mins ago
add a comment |
$begingroup$
Nice points. Yes, the already available symbol places are not data and may be used for parity checks. Your last paragraph essentially indicates a higher layer protocol which uses information outside the defined channel.
$endgroup$
– kodlu
29 mins ago
$begingroup$
Nice points. Yes, the already available symbol places are not data and may be used for parity checks. Your last paragraph essentially indicates a higher layer protocol which uses information outside the defined channel.
$endgroup$
– kodlu
29 mins ago
$begingroup$
Nice points. Yes, the already available symbol places are not data and may be used for parity checks. Your last paragraph essentially indicates a higher layer protocol which uses information outside the defined channel.
$endgroup$
– kodlu
29 mins ago
add a comment |
$begingroup$
No, because of the Pigeonhole Principle.
Let's say you want to be able to send arbitrary $k$-bit messages. There are $2^k$ possible bit-patterns, and $2^k$ possible intended messages.
Now let's say you want to add error correction. This means that, on top of the $2^k$ correct messages that you want to be able to send, you also want to be able to send some number of incorrect messages (that will get detected and fixed at the other end). Each incorrect message must be distinguishable from every valid message, or else there'd be no way to correct it.
But there are only $2^k$ bit-patterns available; if you want to be able to distinguish $2^k$ correct messages, plus some additional number of incorrect messages, you'll need more than $k$ bits.
(Adding one bit for parity, for example, gives $2^k+1$ possible patterns, enough for $2^k$ correct messages and $2^k$ incorrect messages.)
New contributor
$endgroup$
add a comment |
$begingroup$
No, because of the Pigeonhole Principle.
Let's say you want to be able to send arbitrary $k$-bit messages. There are $2^k$ possible bit-patterns, and $2^k$ possible intended messages.
Now let's say you want to add error correction. This means that, on top of the $2^k$ correct messages that you want to be able to send, you also want to be able to send some number of incorrect messages (that will get detected and fixed at the other end). Each incorrect message must be distinguishable from every valid message, or else there'd be no way to correct it.
But there are only $2^k$ bit-patterns available; if you want to be able to distinguish $2^k$ correct messages, plus some additional number of incorrect messages, you'll need more than $k$ bits.
(Adding one bit for parity, for example, gives $2^k+1$ possible patterns, enough for $2^k$ correct messages and $2^k$ incorrect messages.)
New contributor
$endgroup$
add a comment |
$begingroup$
No, because of the Pigeonhole Principle.
Let's say you want to be able to send arbitrary $k$-bit messages. There are $2^k$ possible bit-patterns, and $2^k$ possible intended messages.
Now let's say you want to add error correction. This means that, on top of the $2^k$ correct messages that you want to be able to send, you also want to be able to send some number of incorrect messages (that will get detected and fixed at the other end). Each incorrect message must be distinguishable from every valid message, or else there'd be no way to correct it.
But there are only $2^k$ bit-patterns available; if you want to be able to distinguish $2^k$ correct messages, plus some additional number of incorrect messages, you'll need more than $k$ bits.
(Adding one bit for parity, for example, gives $2^k+1$ possible patterns, enough for $2^k$ correct messages and $2^k$ incorrect messages.)
New contributor
$endgroup$
No, because of the Pigeonhole Principle.
Let's say you want to be able to send arbitrary $k$-bit messages. There are $2^k$ possible bit-patterns, and $2^k$ possible intended messages.
Now let's say you want to add error correction. This means that, on top of the $2^k$ correct messages that you want to be able to send, you also want to be able to send some number of incorrect messages (that will get detected and fixed at the other end). Each incorrect message must be distinguishable from every valid message, or else there'd be no way to correct it.
But there are only $2^k$ bit-patterns available; if you want to be able to distinguish $2^k$ correct messages, plus some additional number of incorrect messages, you'll need more than $k$ bits.
(Adding one bit for parity, for example, gives $2^k+1$ possible patterns, enough for $2^k$ correct messages and $2^k$ incorrect messages.)
New contributor
New contributor
answered 4 hours ago
DraconisDraconis
1112 bronze badges
1112 bronze badges
New contributor
New contributor
add a comment |
add a comment |
Thanks for contributing an answer to Cryptography Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f72025%2fcan-error-correction-and-detection-be-done-with-out-adding-extra-bits%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
8
$begingroup$
Are you familiar with the pigeonhole principle? Because it's trivial to reduce this question to that.
$endgroup$
– MSalters
15 hours ago
2
$begingroup$
This doesn't seem to be at all about encryption
$endgroup$
– ilkkachu
12 hours ago
$begingroup$
@ilkkachu It's about coding theory, which can be loosely considered to be in the field of cryptography. I would say questions on that topic can certainly be on-topic here. I'm on the fence whether this particular question is though...
$endgroup$
– marcelm
3 hours ago