Is the Google IKEv2 DH cipher modp_2048s256 the same as Cisco DH group 24? - vpn

This question is specific and only concerns Google Cloud VPN.
Google Reference https://cloud.google.com/vpn/docs/concepts/supported-ike-ciphers
Cisco Definition (group 24) https://supportforums.cisco.com/t5/security-documents/diffie-hellman-groups/ta-p/3147010

Yes, they are the same. The DH group numbers can be found in the IKEv2 registry at IANA and the modp_1024s160, modp_2048s224, modp_2048s256 represent groups 22, 23 and 24, respectively.
Please note that the use of these groups has been discouraged by RFC 8247:
Groups 22, 23, and 24 are MODP groups with Prime Order Subgroups that
are not safe primes. The seeds for these groups have not been
publicly released, resulting in reduced trust in these groups. These
groups were proposed as alternatives for groups 2 and 14 but never
saw wide deployment. It has been shown that group 22 with 1024-bit
MODP is too weak and academia have the resources to generate
malicious values at this size. This has resulted in group 22 to be
demoted to MUST NOT. Groups 23 and 24 have been demoted to SHOULD
NOT and are expected to be further downgraded in the near future to
MUST NOT.

It would be helpful if their documentation provided the group number like this:
1024-bit w/ 160-bit prime order subgroup = Group 22
2048-bit w/ 224-bit prime order subgroup = Group 23
2048-bit w/ 256-bit prime order subgroup = Group 24
It's easy to confuse Group 24 with Group 19, which is in the more widely supported ECP family:
256-bit Elliptic Curve = Group 19
384-bit Elliptic Curve = Group 20
521-bit Elliptic Curve = Group 21

Related

How to get the probability of getting a flush of a certain suit if dealt x amount of cards and knowing the composition of the deck?

Heres the scenario: Let's say we get dealt 17 cards and want to know the probability of getting a flush (five cards of the same suit) that can only be spades. No other suit matters. We know that one spade in the deck was taken out. So that leaves us with 12 spades left in a 51 card deck. How would we determine the probability of getting five spades if dealt 17 cards?
I'm pretty sure math stack exchange would be more helpful but to calculate this mathematically you should use combinatorics.
The total amount of ways to be dealt 17 cards is 51 Choose 17 (which is around 1.47 x 10^13 ways)
Then we determine how many ways to get a flush (I'm going to assume exactly 5 spades and not more than 5). This is equal to (12 choose 5) * (39 choose 12). The 12 C 5 part accounts for the 5 spades and the 39 C 12 part accounts for the remaining 12 cards that are not spades. (39 = 51 - 12) This value is around 3.09 x 10^12 ways.
The probability is around 20.96%

Calculation of possible combinations if the number of possible properties and their possible states is unknown

I have an unknown number of properties, and each property has an unknown number of possible states. How can I calculate the number of possible combinations?
It's hard enough for me to formulate it mathematically. That's why I can't get it into my code.
If all properties could have the same number of states, the number of possible combinations would be simply number_of_possible_combinations = number_possible_states^number_possible_properties.
However, that is not the case.
A coded example would be helpful, or a mathematical formula.
Just multiply all the possible number of states; for example
3 states
2 states
11 states
gives a total of 2 * 3 * 11 = 66 possible combinations
The case where the number of states is fixed is just a special case of this formula.
In mathematical terms is the product of the cardinality of the sets of states:

What is the easiest way to calculate Eulers Phi N?

I got a number and I need to divide it into 2 factors so that I can put them into eulers phi function and calculate my n for RSA encryption, how do I find the two integers?
For example number: 1387: 19 • 73 so I get phi(1387)=(19-1)*(73-1)= 1296 = n
how do I get the 19 and 73 the fastest way? I dont want to use any internet calculators for it because I wont be able to use them in my exam.
In RSA,n=pq,in your example,p=19,q=73.Because p and q are all Prime number,so In your exam I think you can guess their value.I think because RSA's savety rely on value n can not be easily divided into two Prime number,so your teacher won't give a too large value n. For example,now teacher give me a value n=1387,you can think now last number is 7,so two number's value may ?3*?9 or ?1*?7.If is ?3*?9,so ?3 may equal 3,13,23,43,53,73,83... ?9may equal 19,29,59,79,89...,now you can use 1387 divide ?3,and search for whether there is an ?9 match(see whether the result of 1387 divided ?3 is Prime number).It's
just my thought,good luck to you.

Cost Optimization across Different Suppliers for a Product

I've this following optimization problem. A company produces a product, say Big A. To produce this product, it requires 5 processes. (Please find the detail table below). For each process, there are number of supplier that supply raw material for that particular process. E.g. For process 1, there are 3 supplier 1,2 & 3.
The constrain for the CEO of this company,say C, is that for each process the CEO has to purchase supplies from Supplier 1 first, then for additional supplies from 2nd Supplier and so on.
The optimization problem is C wants 700 units for total material to produce for 1 unit of Big A then how will he do it at minimum cost. How the optimization will change if the amount of units require increases to 1500 units.
I'll be grateful if I get the solution of this answer. But if somebody can suggest me some reference regarding this problem it will be a great help too. I'm mainly using R software here.
Process Supplier Cost Units Cumm_Cost Cumm_Unit
1 1 10 100 10 100
1 2 20 110 30 210
1 3 10 200 40 410
2 1 20 100 20 100
2 2 30 150 50 250
2 3 10 150 60 400
3 1 40 130 40 130
3 2 30 140 70 270
3 3 50 120 120 390
4 1 20 120 20 120
4 2 40 120 60 240
4 3 20 180 80 420
5 1 30 180 30 180
5 2 10 160 40 320
5 3 30 140 70 460
Regards,
I will start by solving the specific problem that you have posted and then will demonsrate how to formulate the problem more abstractively. For simplicity, I will use Excel's Solver add-in to solve the problem, but any configuration of a modeling language (such as AIMMS, AMPL, LINGO, OPL, MOSEL and numerous others) with a solver (CPLEX, GUROBI, GLPK, CBC and numerous others) can be used. If you would like to use R, there exists an lpSolve package that calls the lpSolve solver (which is not the best one in the word to be honest, but it is free of charge).
Note that for "real" (large scale) integer problems, the commercial solvers CPLEX, GUROBI and XPRESS perform a lot better than others. The first completely free solver that performs decently in most tests (including Hans Mittelman's page) is CBC. CBC can be hooked up in excel and solve the built-in solver model without restrictions in the number of constraints or variables, by using this add-in. Therefore, assuming that most CPU is going to be spent by the optimization algorithm, using CBC/OpenSolver seems like an efficient choice.
SPREADSHEET SETUP
I follow some conventions for convenience:
Decision variable cells are marked Green.
Constraints are marked red.
Data are marked grey.
Objective function is marked blue.
First, lets augment the table you presented as follows:
The added columns explained briefly:
Selected?: equals 1 if the (Process, Supplier) combo is allowed to produced a positive quantity, zero otherwise.
Quantity: the quantity produced, defined for each (Process, Supplier) combo.
Max Quantity?: Equals 1 if the Suppliers produces the maximum amount of units for that particular Process.
Quantity UB: equals Units * Selected?. This makes the upper bound either equal to Units, when the Supplier is allowed to produce this Process, or zero otherwise.
Quantity LB: equals Units * Max Quantity?. This is to ensure that whenever the Max Quantity? column is 1, the produced quantity will be equal to Units.
Selection: For the 1st supplier, it equals 0. For the 2nd and 3rd suppliers, it equals the Max Quantity? of the previous supplier (row) minus the Selected? of the current supplier (row).
A screenshot with formulas:
There exist two more constraints:
There must be at least one item produced from each process and
The total number of items should be 700 (or later 1,500).
Here is their setup:
and here are the formulas:
In brief, we use SUMIF to sum the quantities that are specific to each supplier, which we are going to constrain to be more than 1 item for each process.
To finish the spreadsheet setup, we need to calculate the objective function, namely the cost of the allocation. This is easily done by taking the SUMPRODUCT of columns Quantity and Cost. Note that the cumulative quantities are derived data and not very useful in the current context.
After the above steps, the spreadsheet looks like below:
SOLVER MODEL
For the solver model we need to declare
The Objective
The Decisions
The Constraints
The Solver (and tweak some parameters if necessary).
For ease of exposition, I have given each range the name of its header. The solver model looks as follows:
It should all be explanatory, except possibly the Selected >= 0 part. The column selected equals the difference between the binary max Quantity of the previous supplier minus the Selected of the current supplier. Selected >= 0 => max Quantity of previous supplier >= Selected of current supplier. Therefore, if the previous supplier does not produce at max quantity (binary = 0), the current supplier cannot produce.
Then we need to make sure that the solver setting are OK:
and solve the problem.
Solution for req = 700 :
As we see, the model tries to avoid procedures 3 and 5 as much as possible, and satisfies the constraint "at least 1 item per process" by picking up exactly 1 item for processes 3 and 5. The objective function value is 11,710.
Solution for req = 1,500 :
Here we need more capacity, but yet process 3 seems expensive and the model tries to avoid it by allocating whatever is necessary (just 1 unit to supplier 1).
I hope this helps. The spreadsheet can be downloaded here. I include the definition of the mathematical model below, in case you would like to transfer it to another language.
MATHEMATICAL FORMULATION
A formal definition of your problem is as follows.
SETS:
PARAMETERS:
Decisions:
Objective:
Constraints:
Constraint explanation:
C1: A supplier cannot produce anything from a process if he has not been allocated to that process.
C2: If a supplier's maximum indicator is set to 1, then the production variable should be the maximum possible.
C3: We cannot select supplier s for process p if we have not produced the max quantity available from the previous supplier s_[-1].
C4: We need to produce at least 1 item from each process.
C5: the total production from all processes and suppliers should equal the required amount.
Looks like you should look at the simplex algorithm (or some existing implementation of it).
Wikipedia has a fairly nice description of the algorithm, http://en.wikipedia.org/wiki/Simplex_algorithm

Probability problem - Duplicates when choosing from large basket

I need to explain to the client why dupes are showing up between 2 supposedly different exams. It's been 20 years since Prob and Stats.
I have a generated Multiple choice exam.
There are 192 questions in the database,
100 are chosen at random (no dupes).
Obviously, there is a 100% chance of there being at least 8 dupes between any two exams so generated. (Pigeonhole principle)
How do I calculate the probability of there being
25 dupes?
50 dupes?
75 dupes?
-- Edit after the fact --
I ran this through excel, taking sums of the probabilities from n-100,
For this particular problem, the probabilities were
n P(n+ dupes)
40 97.5%
52 ~50%
61 ~0
Erm, this is really really hazy for me. But there are (192 choose 100) possible exams, right?
And there are (100 choose N) ways of picking N dupes, each with (92 choose 100-N) ways of picking the rest of the questions, no?
So isn't the probability of picking N dupes just:
(100 choose N) * (92 choose 100-N) / (192 choose 100)
EDIT: So if you want the chances of N or more dupes instead of exactly N, you have to sum the top half of that fraction for all values of N from the minimum number of dupes up to 100.
Errrr, maybe...
Its probably higher than you think. I won't attempt to duplicate this article: http://en.wikipedia.org/wiki/Birthday_paradox
Once you've created the first exam, there are 92 questions that have never been used, and 100 that have. If you now generate another exam, with 100 questions in in it, you are chosing from a set of 92 questions that have never been used, and 100 that have. Clearly you are going to get quite a few duplicates.
You would expect to get (100/192) * 100 duplicates, i.e. in any two randomly chosen exams, there will (on average) be 52 duplicate questions.
If you want the probability that there are 25, or 75, or whatever, then you have two choices.
a) Work out the maths
b) Simulate a few runs on a computer

Resources