Consider the following hybrid encryption scheme (B3||4 is for concatenated IV and AES-CBC encrypted message):   ------------------------------------------------------------------- |     Encrypted with RSA     | HMAC  |    |                       | |     HMAC_KEY || AES_KEY    |  of   | IV | AES-CBC Encrypted MSG | |   (using PK of recipient)  | B3||4 |    |                       | -------------------------------------------------------------------   Let's say some message was encrypted with AES-128-CBC with a randomly generated secret key and IV. Then the HMAC was calculated for blocks 3-4 concatenated together. And then the HMAC key and AES encryption key was encrypted with RSA using a public key of a recipient (B).  My question is do I need to include HMAC or even any other digest in such a packet that would be transmitted over reliable connection (let's say TCP) from sender (A) to receiver (B)?  Is the following simplified scheme is worse in terms of security?   ----------------------------------------------------------- |     Encrypted with RSA     |    |                       | |           AES_KEY          | IV | AES-CBC Encrypted MSG | |   (using PK of recipient)  |    |                       | -----------------------------------------------------------   My thoughts:   As message will be 100% delivered to a receiver there is not way it can be damaged during the transmission With MITM attack there is no way to alter the encrypted message in a meaningful way so it would be still decryptable with the key from a block 1. There is no better way to manipulate transmitted data then to substitute the whole packet to other one which would hold other message and AES encryption key. In order to prevent altering in the way described above it's enough to sign the AES key in the block 1 with secret key of a sender (and add the signature to the first block). In such a way the receiver can verify that the key was indeed send by the original sender. If with the above tweak MITM would alter 3rd or 2nd block of a packet the decryption would not be possible at all - so there is no way to spoof the message leaving the signed key in the first block as is.   The only thing I can think about is some way to alter the block 3 so it would be still decryptable. Is it possible to accomplish for an attacker?
Suppose there is a message that is encrypted with AES-128-CBC.  The message is as follows, new lines are used to delimit the 16 byte boundary for each block:  Wire funds from: Alice to Bob in   the amount of $ 1   Because this message is encrypted using CBC mode,  any modification of the first block of cipher text would propagate throughout the message.   However, the amount of the fund transfer falls in the last block.  I am under the assumption that an attacker can use the property of  to alter the last block and produce a valid amount that is greater than \$1 in far fewer than $2^{128}$ operations.   Is this a correct assumption?  Is there a name for this attack or do you know of a real world example?    My instinct is that if you just need one byte of the 16 byte block to be of a specific value then it would only require $2^8$ operations because the other 120 bits of the plain text could be any value. For example lets say we wanted the last block of cipher text to decrypt to 9\0 (where \0 denotes a single null byte, and the message would be interpreted as \$9), then it would take only $2^{16}$ operations to find this cipher text block.  Is there something I am missing?
Complex polynomial and the unit circle Given a polynomial $ P(z) = z^n + a_{n-1}z^{n-1} + \cdots + a_0 $, such that   $\max_{|z|=1} |P(z)| = 1 $      Prove: $ P(z) = z^n $      Hint: Use cauchy derivative estimation    $$ |f^{(n)} (z_0)| \leq \frac{n!}{r^n} \max_{|z-z_0|\leq r} |f(z)| $$ and look at the function $ \frac{P(z)}{z^n} $     It seems to be maximum principle related, but I can't see how to use it and I can't understand how to use the hint. My questions is very simple. How can I set security setting for a PDF file created with PDFLatex?  I should set some password or print permissions, etc. How to count derangements? I was going through .Suppose that there are n persons who are numbered 1, 2, ..., n. Let there be n hats also numbered 1, 2, ..., n. We have to find the number of ways in which no one gets the hat having same number as his/her number. Let us assume that the first person takes hat i. There are n − 1 ways for the first person to make such a choice. There are now two possibilities, depending on whether or not person i takes hat 1 in return:  A) Person i does not take the hat 1. This case is equivalent to solving the problem with n − 1 persons and n − 1 hats: each of the remaining n − 1 people has precisely 1 forbidden choice from among the remaining n − 1 hats (i's forbidden choice is hat 1).  B) Person i takes the hat 1. Now the problem reduces to n − 2 persons and n − 2 hats.  From this, the following relation is derived: !n = (n - 1) (!(n-1) + !(n-2))  I have a hard time understanding point B and the equation derived. I was trying to understand with an example of 4 people named A, B, C and D and the corresponding hats A, B, C and D. Everyone of them are supposed to wear any hat except their own matching hat i.e. A can wear B, C or D.  If suppose A wears B hat so we will be left with only 3 people and 3 hats. So I can understand "(n-1)!(n-1)" part but what i didn't understand is part B(marked above). Can anyone help? How do I rename a directory via the command line? I'm preparing a new template for our students' projects based on memoir. All this projects are supervised (directed) by one or more professors so I would like to declare a command like \author but called \director.   This way the student can declare \director{My professor} and the template will place and format the name.   I would like to be like \author and not just a simple \newcommand because it can include affiliation, several names, etc.  I don't know where is \author declared, where should I look? How do I reset my main keychain and completely delete the old one? I changed my password and its been coming up with all of these popups asking for my new password when I first login. If anyone can help with updating my keychain I would appreciate it or you can just help me completely delete and reset it. Is it possible to have a 100% secure virtual private server? I am curious if it is possible to have a VPS that has data on it that is not readable by the hosting provider, but is still usable on the VPS.  Obviously there are some things that you could do to prevent them from reading anything...   You could change all the passwords, including root. But then, they could still use some alternate boot to reset the password, or they could just mount the disk another way. So, you could encrypt the disk or at least some of the contents on the disk. But then it seems that if you decrypted the content, they could still "peer in" to see what you were doing at the console, because after all, the virtualization platform should allow this. And even if you could stop that, it seems they could just read the RAM of the VPS directly.   Of course, the VPS can store data on it and as long as the key is not on the VPS and the data is never decrypted there, then the host cannot get the data.  But it seems to me that if any point the data on the VPS is decrypted...for use on the VPS...then the hosting provider can get the data.  So, my two questions are:   Is this correct? Is it true that there is no way to 100% secure data on a VPS from a host from seeing it, while keeping it accessable by the VPS? If it is possible to make it 100% secure, then how? If it is not possible, then what is the closest you can get to hiding data from the web host? I am currently writing a paper with several multiple regression analyses. While visualizing univariate linear regression is easy via scatter plots, I was wondering whether there is any good way to visualize multiple linear regressions?   I am currently just plotting scatter plots like dependent variable vs. 1st independent variable, then vs. 2nd independent variable, etc. I would really appreciate any suggestions. Firefox doesn't launch in Ubuntu 13.04 Firefox starts when I use sudo in the terminal, but not from the launcher. All the other apps work like a charm, just not Firefox. How can I fix this? Winter 18  does not get values from a parent record I am testing the new  &lt;lightning:datatable&gt;, it is really good, and is a good replacement for most of my use cases which today I use a custom list component that I have developed.  I am getting data from my server through apex method, to populate it into the &lt;lightning:datatable&gt; component. I can bind the returned list directly to the data attribute and if the column names are same as the field names, all data is bound correctly.  The problem occurs when I get data from a parent record. For example - I want the Account name of my contact.  This example can show the problem:  Component Markup    &lt;aura:handler name="init" value="{!this}" action="{!c.doInit}"/&gt;  &lt;aura:attribute name="mydata" type="Object"/&gt; &lt;aura:attribute name="mycolumns" type="List"/&gt; &lt;aura:attribute name="sortedBy" type="String"/&gt; &lt;aura:attribute name="sortedDirection" type="String"/&gt;  &lt;lightning:datatable data="{! v.mydata }"                      columns="{! v.mycolumns }"                      keyField="Id"                      onrowselection="{! c.getSelectedName }"                      onsort="{!c.updateColumnSorting}"                      sortedBy="{!v.sortedBy}"                      sortedDirection="{!v.sortedDirection}"                      hideCheckboxColumn="{!false}" /&gt;        Component Controller  ({     doInit: function (component, event, helper) {         component.set('v.mycolumns', [                     {label: 'Id', fieldName: 'Id', type: 'id', sortable:"true"},                     {label: 'First Name', fieldName: 'FirstName', type: 'text', sortable:"true"},                     {label: 'Last Name', fieldName: 'LastName', type: 'text', sortable:"true"},                     {label: 'First Name Hebrew', fieldName: 'First_name_Hebrew__c', type: 'text', sortable:"true"},                     {label: 'Last Name Hebrew', fieldName: 'Last_name_Hebrew__c', type: 'text', sortable:"true"},                     {label: 'Account', fieldName: 'Account.Name', type: 'text', sortable:"true"},                     {label: 'Email', fieldName: 'Email', type: 'email', sortable:"true"},                     {label: 'Phone', fieldName: 'Phone', type: 'phone', sortable:"true"}                 ]);          var action = component.get("c.getRecordsFromDb");         action.setParams({             sObjectName: "Contact",             commaDelimitedFieldNames: "Id,FirstName,LastName,First_name_Hebrew__c,Last_name_Hebrew__c,Account.Name,Email,Phone",             filter: ""         });         action.setCallback(this, function(response){             var state = response.getState();             if (component.isValid() &amp;&amp; state === "SUCCESS") {                 var data = response.getReturnValue();                  component.set("v.mydata", data);             }         });         $A.enqueueAction(action);     } })   APEX Aura Enabled Method  @AuraEnabled public static List&lt;sObject&gt; getRecordsFromDb(String sObjectName,         String commaDelimitedFieldNames,         String filter) {      system.debug('\n\n\n\ngetRecordsFromDb sObjectName: ' + sObjectName + ', commaDelimitedFieldNames: ' + commaDelimitedFieldNames + ', filter: ' + filter + '\n\n\n\n');      // create a dynamic soql to get the value of the field     String sql = 'SELECT ' + commaDelimitedFieldNames + ' FROM ' + sObjectName;      if (!String.isBlank(filter))         sql += ' WHERE ' + filter;      system.debug('\n\n\n\ngetRecordsFromDb sql: ' + sql + '\n\n\n\n');     List&lt;sObject&gt; records = Database.query(sql);     system.debug('\n\n\n\ngetRecordsFromDb: ' + records + '\n\n\n\n');      return records; }   The problem is with the Account.Name field - the &lt;lightning:datatable&gt; component does not display the column data.   I know that the data is returned ok, and I know that in the object that is returned, the Account is contained like an object (probably this is the problem):    Is there a good way to show parent record data with this component? How to turn off chrome's annoying auto-fill? I have noticed that some users have taken it upon themselves to create  that allow you to see a user's rank (percentile) among SO developers.  I like this.  I was wondering if the owners of the website are planning something like this in the future?  If so, are you planning on making this by tag?  (I care less about where I rank when compared to developers of a different language).  What I'm looking for is something like this:  C#:      User is ranked #XX (Top XX %) ASP.Net: User is ranked #YY (Top YY %) Let $\mathbb R$ denote the set of all real numbers. Find all function $f: R\to \ R$ such that   $$f\left(x^2+f(y)\right)=y+(f(x))^2$$   It is the problem. I tried to it by putting many at the place of $x$ and $y$ but I can't proceed. Please somebody help me. Make program first read from pipe, then from keyboard System.LimitException: Too many query rows: 50001 What I am trying to do is to set a date in my date field and also update the object. I am using the class below to do so which works just fine in my sanbox but in production I am getting this error:      System.LimitException: Too many query rows: 50001   public with sharing class updateObject{     public  List&lt;NRProducts__c&gt;  values;     public PageReference updateObject() {         values=[SELECT Refreshed_Date__c FROM NRProducts__c ];         for (NRProducts__c s :values){            s.Refreshed_Date__c =Date.today();          }          update values;         return null;                       }     }   VF Page:  &lt;apex:page showheader="false" controller="updateObject" sidebar="false"&gt; &lt;apex:form&gt;  &lt;apex:commandButton action="{!updateObject}" value="Update"/&gt; &lt;/apex:form&gt; &lt;/apex:page&gt; How to execute file I'm editing in Vi(m) This is a general, community wiki  question and answer pair intended to address any questions   concerning the reasons a site or specific site contents do not appear   in search engine results.      If your question was closed as a duplicate of this question and you   feel that the information provided here does not provide a sufficient   answer, please open a discussion on .   My site (or specific pages on my site) is not appearing in search engine results.  Why isn't my content indexed and what can I do about it? Calculating a spherical polygon centroid Another meta question identified a bug that was marked as designed. To summarize the bug, the little number that appears next the Review link in the header shows an incorrect value most of the time.         I would like to propose that the feature be dropped. Honestly, I would prefer it be fixed, but the response to the question above gives me little faith that it will be. Half of the time, I click that little brown box and find out that I was lied to. There's nothing to review.  The little number no longer does the job it was created to do.        Oh sweet! Three things I can review!        Just kidding... I have to do proof of $(a+b)^n$ and $(a+b)^{n+1}$ with mathematical induction.  I finished the first one $(a+b)^n = a^n + na^{n-1}b+\dots+b^n$.  I however have trouble with the second one, I don't know what to start exactly. Any help/hints?